专利摘要:
IMAGE PROCESSING DEVICE AND METHOD An image processing device and method capable of preventing the reduction of an encoding efficiency is provided. A decoded pixel classification unit (152) and an input pixel classification unit (153) classify each macroblock of a decoded image or input image based on an orthogonal transform size read from a size buffer of orthogonal transform (151). A 4 x 4 block coefficient calculation unit (154) and an 8 x 8 block coefficient calculation unit (155) calculate filtering coefficients so that residual errors become minimal in the respective orthogonal transform blocks. A pixel classification unit (161) in a loop filter (113) classifies each macroblock of a decoded image based on its orthogonal transform size. A filter unit (4 x 4) (162) and a filter unit (8 x 8) (163) apply appropriate filtering coefficients to respective corresponding orthogonal transform blocks and perform filtering processing. The invention can be applied, for example, to an image processing device.
公开号:BR112012003855B1
申请号:R112012003855-9
申请日:2010-08-18
公开日:2021-08-03
发明作者:Kazushi Sato
申请人:Sony Corporation;
IPC主号:
专利说明:

FIELD OF THE INVENTION
[001] The present invention relates to an image processing device and method, and specifically concerns an image processing device and method that enable the suppression of deterioration in image quality due to encoding and decoding of a thereby further increasing the image quality of decoded images. FUNDAMENTALS OF THE INVENTION
[002] In recent years, devices, conforming to formats such as MPEG (Moving Image Experts Group) or the like, have come into widespread use, which treat image information as digital signals and take advantage of redundancy peculiar to image information in order to perform highly effective information transmission and storage at this time, to compress the image by orthogonal transform, such as discrete cosine transform or the like, and motion compensation, both as information distribution, such as diffusion, and as reception of information in common households.
[003] In particular, MPEG2 (ISO (International Organization for Standardization) / IEC (International Electrotechnical Commission) 13818-2) is defined as a general-purpose image encoding format, and is a standard covering both interlaced digitized images. and sequential scan images as well as standard resolution images and high definition images. For example, MPEG2 has now been widely employed by a wide range of applications for professional and consumer use. By employing the MPEG2 compression format, an amount of code (bit rate) of 4 to 8 Mbps is allocated in the event of an interlaced digitizing image of standard resolution with 720 x 480 pixels, for example. Also, by employing the MPEG2 compression format, an amount of code (bit rate) of 18 to 22 Mbps is allocated in the event of a high resolution interlaced digitizing image with 1920 x 1,088 pixels, for example, according to that, a high compression rate and excellent image quality can be realized.
[004] With MPEG2, high quality image encoding adapted for use in broadcasting is taken mainly as an object, but a code amount (bit rate) less than the code amount of MPEG1, ie a format encoding with a higher compression rate is not handled. According to the diffusion of personal digital assistants, it is expected that the needs of such an encoding format will increase from now on and, in response to this, standardization of the MPEG4 encoding format has been carried out. In relation to an image encoding format, its specification was confirmed as an international standard as ISO/IEC 14496-2 in December 1998.
[005] Additionally, in recent years, standardization of a standard called H.26L (ITU-T (ITU Telecommunications Standardization Sector) Q6/16 VCEG (Video Coding Specialists Group)) has progressed, originally intended for coding for use in video conferencing. With H.26L, it has become known that, compared to a conventional encoding format such as MPEG2 or MPEG4, although more computation is required for encoding and decoding this, higher encoding efficiency is realized. Also, currently, as part of the MPEG4 activity, standardization to also take advantage of functions not supported by H.26L, with this H.26L taken as a basis, to realize higher encoding efficiency, was carried out as Joint Encoding Model Enhanced Compression Video Camera. As a standardization agenda, H.264 and MPEG-4 Part 10 (AVC (Advanced Video Coding)) became an international standard in March 2003.
[006] Additionally, as an extension of this, FRExt (Loyalty Reach Extension) which includes a necessary coding tool for business use, such as RGB, 4:2:2 or 4:4:4, DCT (Discrete Transform of Cosine) 8x8 and quantization matrix stipulated by MPEG-2 have been standardized, according to which, AVC can be used as an encoding format capable of adequately expressing even film noise included in films and has been employed for wide range applications , such as Blu-Ray Disc (trademark) and the like.
[007] However, nowadays, additional high-compression encoding needs have increased, such as the claim to compress an image to around 4,000 x 2,000 pixels, which is quadruple of a high-view image, or alternatively needs Additional high-compression encoding has increased, such as the pretense of distributing a high-view image in an environment with limited transmission capacity, such as the Internet. Therefore, with the aforementioned VCEG under ITU-T control, studies related to the improvement of coding efficiency have been continuously carried out.
[008] Also, there is adaptive loop filtering (ALF (Adaptive Loop Filter)) as a next generation video encoding technique, which is being considered as recent (see NPL 1 and NPL 2, for example). According to this adaptive loop filter, optimal filtering processing is performed on every frame, and block noise that was not completely removed in the filter unlocking and noise due to quantization can be reduced.
[009] Now, the 16 x 16 pixel macroblock size is not ideal for large image frames such as UHD (Ultra High Definition; 4000 x 2000 pixels), which will be handled by the next generation encoding methods. It has been proposed to increase the size of the macroblock to a size such as 32 x 32 pixels or 64 x 64 pixels, for example (NPL 3, for example). QUOTE LIST NON-PATENT LITERATURE
[0010] NPL 1: Yi-Jen Chiu and L. Xu, "Adaptive (Wiener) Filter for Video Compression", ITU-T SG16 Contribution, C437, Geneva, April 2008.
[0011] NPL 2: Takeshi. Chujoh, et al., "Block-based Adaptive Loop Filter" ITU-T SG16 Q6 VCEG Contribution, AI18, Germany, July 2008.
[0012] NPL 3: Qualcomm Inc., "Video Coding Using Extended Block Sizes" ITU-T SG16 Contribution, C123, England, January 2009. SUMMARY OF THE INVENTION TECHNICAL PROBLEM
[0013] In general, images have several local features, so ideal filtering coefficients are locally different. For example, with the AVC encoding format, different deterioration of image quality is observed between a case where the size of the orthogonal transform is 4 x 4 and a case of 8 x 8. For example, with blocks of 8 x orthogonal transform 8, mosquito noise is observed, which is not observed in 4 x 4 orthogonal transform blocks. Also, there is a tendency that 8 x 8 orthogonal transform blocks are readily selected for uniform areas, but 4 x 4 orthogonal transform blocks are readily selected for areas with fine texture.
[0014] However, with the conventionally proposed method, the same filtration coefficient is uniformly applied to the entire image, so adequate noise removal for the nature of the location the image has is not necessarily performed, and there is a problem where the image quality of the decoded image may deteriorate locally.
[0015] The present invention was made in light of such a situation, and it is an object of this to suppress deterioration in image quality due to encoding and decoding of an image, thereby further increasing the image quality of decoded images . SOLUTION OF THE PROBLEM
[0016] One aspect of the present invention is an image processing device that includes: classification device configured to classify an image by orthogonal transform sizes applied in orthogonal transform processing performed with respect to the image, for each pre-image size. determined; and filtering device configured to perform filtering processing for noise removal on each partial image of each image size classified by the classification device using filtering coefficients defined according to the nature of the image location corresponding to the size of the orthogonal transform of the image partial.
[0017] The filtering device can be a Wiener Filter.
[0018] The image size can be a macroblock, with the classification device classifying the macroblocks by the orthogonal transform sizes thereof, and the filtering device performing the filtration processing in relation to each macroblock classified by the classification device using the coefficients defined according to the nature of the location of the image corresponding to the size of the orthogonal transform thereof.
[0019] The image processing device may further include encoding device configured to encode the image and generate encoded data.
[0020] The encoding device can perform image encoding with the AVC (Advanced Video Encoding) format, with the classification device classifying, by image size, a decoded image subjected to orthogonal transform, quantization, inverse quantization and orthogonal transform conversely, by the encoding device, and with the filtering device performing filtering processing with respect to the partial image of the decoded image and storing the filter processing results in frame memory as a reference image.
[0021] The image processing device may further include a filter coefficient calculating device configured to calculate the filter coefficients using an input image in the encoding device and the decoded image, with the filter device performing the filter processing using the filtration coefficient calculated by the filtration coefficient calculating device.
[0022] The filter coefficient calculating device can classify each of the input image and the decoded image by sizes of the orthogonal transform applied in the orthogonal transform processing performed by the encoding device, for each of the image sizes; and calculating the filtering coefficient such that the residue between the input image and the decoded image is the smallest for each size of the orthogonal transform.
[0023] The filtering coefficient calculating device can define the values of the filtering coefficients according to the nature of the image location corresponding to the size of the orthogonal transform applied in the orthogonal transform processing performed by the encoding device.
[0024] The filtering coefficient calculating device can further define the number of derivations of the filtering coefficients according to the nature of the image location corresponding to the size of the orthogonal transform applied in the orthogonal transform processing performed by the encoding device.
[0025] The filtration coefficient calculation device can set the larger number of derivations for the filtration coefficients, the larger the size of the orthogonal transform, and define the smaller number of derivations for the filtration coefficients, the smaller the size of the orthogonal transform.
[0026] The image processing device may further include adding device configured to add the filtering coefficient to the encoded data generated by the encoding device.
[0027] The adding device can additionally add indicator information to control whether or not filtering processing takes place on the encoded data.
[0028] The image processing device may further include: extracting device configured to extract the filtration coefficient from the encoded data of an image that has been encoded; and decoding device configured to decode the encoded data and generate a decoded image; with the classification device sorting the decoded image generated by the decoding device by the size of the orthogonal transform for each of the image sizes; and with the filtering device performing filtering processing to remove noise on each partial image of each image size classified by the classification device using the filtration coefficients extracted by the extracting device.
[0029] The decoding device can perform encoding of the encoded data with the AVC (Advanced Video Encoding) format, with the classification device classifying, by image size, the decoded image subject to decoding, inverse quantization and inverse orthogonal transform, by the decoding device, and with the filtering device performing the filtering processing with respect to the partial image of the decoded image.
[0030] An aspect of the present invention is also an image processing method, wherein the classification device of an image processing device classifies an image by the sizes of the orthogonal transform applied in the orthogonal transform processing performed with respect to the image, for each predetermined image size, and the filtering device of the image processing device performs noise removal filtering processing on each partial image of each image size that has been classified using filtering coefficients defined according to nature. of the image location corresponding to the size of the orthogonal transform of the partial image.
[0031] With one aspect of the present invention, an image is classified by sizes of the orthogonal transform applied in the orthogonal transform processing performed with respect to the image, for each predetermined image size, and filtering processing is performed for noise removal on each partial image of each image size that was classified using filtering coefficients defined according to the nature of the image location corresponding to the size of the orthogonal transform of the partial image. ADVANTAGEOUS EFFECTS OF THE INVENTION
[0032] According to the present invention, images can be encoded or decoded. Particularly, image quality deterioration due to image encoding and decoding can be suppressed, and the image quality of decoded images can increase. BRIEF DESCRIPTION OF THE DRAWINGS
[0033] Figure 1 is a block diagram illustrating the configuration of an embodiment of an image encoding device in which the present invention has been applied.
[0034] Figure 2 is a diagram to describe an example of orthogonal transform increments.
[0035] Figure 3 is a diagram to describe processing in a macroblock in which 4 x 4 orthogonal transform is performed.
[0036] Figure 4 is a diagram that illustrates a method to perform integral transform and inverse integral transform by butterfly computing.
[0037] Figure 5 is a diagram to describe an operational principle of an unlocking filter.
[0038] Figure 6 is a diagram to describe a method of defining Bs.
[0039] Figure 7 is a diagram to describe an operational principle of an unlocking filter.
[0040] Figure 8 is a diagram that illustrates an example of correlation between indexA and indexB, and the values of α and β.
[0041] Figure 9 is a diagram that illustrates an example of correlation between Bs, indexA and tCO.
[0042] Figure 10 is a diagram illustrating an example of macroblocks.
[0043] Figure 11 is a block diagram illustrating an example of the main configuration of a loop filter and the filtration coefficient calculation unit.
[0044] Figure 12 is a flowchart describing an example of the encoding processing flow.
[0045] Figure 13 is a flowchart describing an example of the prediction processing flow.
[0046] Figure 14 is a flowchart that describes an example of the loop filter processing flow.
[0047] Figure 15 is a block diagram illustrating an example of primary configuration of an image decoding device in which the present invention has been applied.
[0048] Figure 16 is a diagram illustrating an example of the main configuration of a loop filter.
[0049] Figure 17 is a flowchart describing an example of the decoding processing flow.
[0050] Figure 18 is a flowchart describing an example of the predictive image generation processing flow.
[0051] Figure 19 is a flowchart that describes an example of the loop filter processing flow.
[0052] Figure 20 is a diagram that describes indicators of ALF blocks and filter block.
[0053] Figure 21 is a diagram that describes another example of ALF blocks and filter block indicators.
[0054] Figure 22 is a block diagram illustrating an example of a primary configuration of a personal computer in which the present invention has been applied.
[0055] Figure 23 is a block diagram illustrating an example of a main configuration of a television receiver in which the present invention has been applied.
[0056] Figure 24 is a block diagram illustrating an example of a main configuration of a cell phone in which the present invention has been applied.
[0057] Figure 25 is a block diagram illustrating an example of a main configuration of a hard disk recorder in which the present invention has been applied.
[0058] Figure 26 is a block diagram that illustrates an example of the main configuration of a camera in which the present invention was applied. DESCRIPTION OF MODALITIES
[0059] In the following, embodiments of the present invention will be described. Note that the description will proceed in the following order. 1. First mode (image encoding device) 2. Second mode (image decoding device) 3. Third mode (ALF block control) 4. Fourth mode (QALF) 5. Fifth mode (personal computer) 6. Sixth Mode (TV receiver) 7. Seventh Mode (cellular phone) 8. Eighth Mode (hard disk recorder) 9. Ninth Mode (camera) <1. First modality> [Device Configuration]
[0060] Figure 1 represents the configuration of an embodiment of an image encoding device that serves as an image processing device in which the present invention has been applied.
[0061] An image encoding device 100 shown in Fig. 1 is an image encoding device that subjects an image to compression encoding using, for example, the H.264 and MPEG (Moving Image Experts Group) format 4 Part 10 (AVC (Advanced Video Coding)) (hereafter referred to as H.264/AVC), and additionally employs an adaptive loop filter.
[0062] In the example of Figure 1, the image encoding device 100 has an A/D (Analog/Digital) conversion unit 101, a screen rearrangement temporary storage 102, a computing unit 103, a transform unit orthogonal 104, a quantization unit 105, a lossless encoding unit 106 and a temporary storage 107. The image encoding device 100 also has an inverse quantization unit 108, an inverse orthogonal transform unit 109, a computing unit 110 and an unblocking filter 111. Additionally, the image encoding device 100 has a filter coefficient calculating unit 112, a loop filter 113, and frame memory 114. Also, the image encoding device 100 has a selection unit 115, an intraprediction unit 116, a motion prediction/compensation unit 117 and a selection unit 118. Additionally, the image encoding device 100 has a 119 rate control unit.
[0063] The A/D conversion unit 101 performs A/D conversion of the input image data, transmits it to screen rearrangement temporary storage 102 and stores it. Screen rearrangement temporary storage 102 rearranges the frame images in stored order to display in frame order for encoding according to GOP (Group of Figure) structure. The screen rearrangement temporary storage 102 supplies the pictures whose frame order has been rearranged to the computing unit 103, the intraprediction unit 116, the motion prediction/compensation unit 117 and the filter coefficient calculation unit 112.
The computing unit 103 subtracts, from the image read from the screen rearrangement temporary storage 102, the prediction image supplied from the selection unit 118, and transmits difference information thereof to the orthogonal transform unit 104. For example, in the case of an image which considers which intracoding has been performed, the computing unit 103 adds the prediction image supplied from the intrapredict unit 116 to the image read from the screen rearrangement temporary storage 102. Also, by For example, in case intercoding has been performed, the computing unit 103 adds the prediction image supplied from the prediction/motion compensation unit 117 to the image read from the screen rearrangement temporary storage 102.
[0065] The orthogonal transform unit 104 subjects the difference information from the computing unit 103 to the orthogonal transform, such as discrete cosine transform, Karhunen-Loéve or the like, and supplies a transform coefficient of this to the quantization unit 105. The orthogonal transform unit 104 also provides information related to which of the 4 x 4 orthogonal transform and the 8 x 8 orthogonal transform was applied in each macroblock (size of the orthogonal transform) to the filter coefficient calculation unit 112 and to the loop filter 113.
[0066] The quantization unit 105 quantizes the transform coefficient that the orthogonal transform unit 104 transmits. The quantization unit 105 supplies the quantized transform coefficient to the lossless coding unit 106.
[0067] The lossless coding unit 106 subjects the quantized transform coefficient to lossless coding, such as variable-length coding, arithmetic coding or the like.
[0068] The lossless coding unit 106 obtains information indicating an intrapredict and the like from the intrapredict unit 116 and obtains information indicating an interpredict mode and the like from the motion prediction / compensation unit 117. Note that the information that indicates intraforecast will also be referred to below as intraforecast mode information. Also, information that indicates inter-forecast will also be referred to below as inter-forecast mode information.
[0069] The lossless coding unit 106 additionally obtains filtering coefficients used in the loop filter 113 from the filtering coefficient calculating unit 112.
[0070] The lossless coding unit 106 encodes the quantized transform coefficient, and also takes filtering coefficients, intrapredict mode information, interpredict mode information, quantization parameters and the like as part of the header information in the encoded data (multiplex ). The lossless encoding unit 106 supplies the encoded data obtained by encoding to temporary storage 107 for storage.
[0071] For example, with the lossless encoding unit 106, lossless encoding processing, such as variable length encoding, arithmetic encoding or the like, is performed. Examples of variable length encoding include CAVLC (Context Adaptive Variable Length Encoding) stipulated by the H.264/AVC format. Examples of arithmetic coding include CABAC (Context Adaptive Binary Arithmetic Coding).
[0072] Temporary storage 107 temporarily maintains the encoded data supplied from the lossless encoding unit 106 and, in a predetermined timing, transmits these, for example, to a recording device, transmission path or the like downstream , not shown in the drawing, as a compressed image encoded by H.264/AVC format.
[0073] Also, the quantized transform coefficient transmitted from the quantization unit 105 is also supplied to the inverse quantization unit 108. The inverse quantization unit 108 performs inverse quantization of the quantized transform coefficient with a method corresponding to the quantization in the unit of quantization 105, and supplies the obtained transform coefficient to the inverse orthogonal transform unit 109.
[0074] The inverse orthogonal transform unit 109 performs inverse orthogonal transform of the supplied transform coefficients with a method corresponding to the orthogonal transform processing by the orthogonal transform unit 104. The output subjected to inverse orthogonal transform is supplied to the computing unit 110.
[0075] The computing unit 110 adds the result of the inverse orthogonal transform supplied from the inverse orthogonal transform unit 109, i.e., the restored difference information, in the prediction image supplied from the selection unit 118 and obtains a locally decoded image (decoded image). In the event that the difference information corresponds to a picture considering which intracoding is to be performed, for example, the computing unit 110 adds the prediction picture supplied from the intrapredict unit 116 into this difference information. Also, in the event that the difference information corresponds to an image that considers that intercoding should be performed, for example, the computing unit 110 adds the prediction image supplied from the prediction/motion compensation unit 117 into this information. difference.
[0076] The results of adding these are supplied to the unlocking filter 111.
[0077] Unblocking filter 111 removes block noise from the decoded image. Then, unblocking filter 111 supplies the noise removal results to loop filter 113 and frame memory 114.
[0078] The filter coefficient calculation unit 112 is supplied with the decoded image supplied from the deblocking filter 111 by means of the frame memory 114. The filter coefficient calculation unit 112 is additionally supplied with the image of input read from the screen rearrangement temporary storage 102. Additionally, the filter coefficient calculation unit 112 is supplied, from the orthogonal transform unit 104, with the size of the orthogonal transform (which of the 4 x 4 orthogonal transform and the 8 x 8 orthogonal transform was applied to each macroblock).
[0079] Based on the size of the orthogonal transform supplied from the orthogonal transform unit 104, the filter coefficient calculation unit 112 groups the macroblocks of the decoded image and the input image by the size of the orthogonal transform (performs class classification ) and generates an appropriate filtration coefficient for filtration processing performed on loop filter 113 for each group (class). The filter coefficient calculation unit 112 calculates the filter coefficients so that the residual (difference between the decoded image and the input image) is minimal in each group (size of the orthogonal transform).
[0080] The filter coefficient calculation unit 112 supplies the filter coefficients of each group generated to the loop filter 113. Also, the filter coefficient calculation unit 112 supplies the filter coefficients of each group generated to the unit of lossless encoding 106. As stated, the filtering coefficients are included in the encoded (multiplexed) data by the lossless encoding unit 106. That is, the filtering coefficients of each group are sent to the image decoding device along with the data encoded.
[0081] Decoded images supplied from the deblocking filter 111 by means of the frame memory 114 are supplied to the loop filter 113. Also, the filter coefficient calculation unit 112 is supplied from the orthogonal transform unit 104 with the size of the orthogonal transform (information related to which of the 4 x 4 orthogonal transform and the 8 x 8 orthogonal transform was applied to each macroblock).
[0082] The loop filter 113 groups (performs class classification) the macroblocks of the decoded image by size of the orthogonal transform based on the size of the orthogonal transform supplied from the orthogonal transform unit 104 and performs filter processing on the decoded image using the filtration coefficients supplied from the filtration coefficient calculation unit 112 for each group (class). A Wiener filter (Wiener Filter), for example, is used as this filter. Of course, a filter other than a Wiener filter can be used. Loop filter 113 supplies filter processing results to frame memory 114 and stores them as a reference image.
[0083] Frame memory 114 transmits the stored reference image to the intracoding unit 116 or to the motion prediction/compensation unit 117 via the selection unit 115 in a predetermined timing. For example, in the case of an image that considers which intracoding is to be performed, for example, frame memory 114 supplies the reference image to the intraprediction unit 116 by means of the selection unit 115. Also, in the case of an image that considers that intercoding is to be performed, for example frame memory 114 supplies the reference image to the prediction / motion compensation unit 117 by means of the selection unit 115.
[0084] With this image encoding device 100, figure I, figure B and figure P from screen rearrangement temporary storage 102 are supplied to intraprediction unit 116 as an image to be subjected to intraprediction (also referred to as intraprocessing), for example. Also, figure B and figure P read from screen rearrangement temporary storage 102 are supplied to motion prediction/compensation unit 117 as an image to be subjected to interprediction (also referred to as interprocessing).
[0085] The selection unit 115 supplies the reference image supplied from the frame memory 114 to the intrapredict unit 116 in the case of an image considering which intracoding should be performed, and supplies the prediction / motion compensation unit 117 in the case of an image that considers that intercoding should be performed.
[0086] The intrapredict unit 116 performs intrapredict processing of all candidate intrapredict modes based on the image to be intrapredict read from the screen rearrangement temporary storage 102 and the reference image supplied from the memory of frame 114 to generate a preview image.
[0087] In the intrapredict unit 116, information related to the intrapredict mode applied in the current block/macroblock is transmitted to the lossless encoding unit 106 and is taken as a part of the header information. The 4 x 4 intra-prediction mode, the 8 x 8 intra-prediction mode and the 16 x 16 intra-prediction mode are defined in relation to luminance signals and also in relation to color difference signals, a prediction mode can be defined for each macroblock, independent of luminance signals. For 4 x 4 intraprediction mode, an intrapredict mode is defined for each 4 x 4 luminance block. For 8 x 8 intrapredict mode, an intrapredict mode is defined for each 8 x 8 luminance block. 16 x 16 and color difference signals, a prediction mode is defined for each macroblock.
[0088] The intra-forecast unit 116 calculates a cost function value in relation to the intra-forecast mode in which the forecast image was generated and selects the intra-forecast mode in which the calculated cost function value gives the minimum value as the optimal intrapredict mode. The intrapredict unit 116 supplies the prediction image generated in the ideal intrapredict mode to the computing unit 103 by means of the selection unit 118.
[0089] In relation to the image to be subjected to intercoding, the prediction / motion compensation unit 117 uses the input image supplied from the screen rearrangement temporary storage 102 and the decoded image that serves as the supplied reference frame from frame memory 114, and calculates a motion vector. The motion prediction/compensation unit 117 performs motion compensation processing in accordance with the calculated motion vector and generates a prediction image (interpredict image information).
[0090] The prediction / motion compensation unit 117 performs inter-prediction processing for all candidate inter-prediction modes and generates prediction images. Inter-forecast modes are the same as for intra-forecast modes.
[0091] The prediction / motion compensation unit 117 calculates cost function values for the inter-prediction modes considering which prediction images were generated and selects the inter-prediction mode whose calculated cost function value produces the smallest value as the ideal inter-prediction mode . The prediction/motion compensation unit 117 supplies the prediction image generated in the ideal interpredict mode to the computing unit 103 by means of the selection unit 118.
The motion prediction / compensation unit 117 supplies the motion vector information which indicates the calculated motion vector to the lossless coding unit 106. This motion vector information is included (multiplexed) in the data encoded by the unit lossless encoding 106. That is, the motion vector information is sent to the image decoding device along with the encoded data.
[0093] The selection unit 118 supplies the output of the intraprediction unit 116 to the computing unit 103, in the case of an image to perform intracoding, and supplies the output of the prediction / motion compensation unit 117 to the computing unit 103 in the case of performing intercoding.
[0094] The rate control unit 119 controls the rate of quantization operations of the quantization unit 105 based on the compressed image stored in the temporary storage 107, in such a way that overloading or underloading does not occur. [Description of Orthogonal Transform]
[0095] In the following, each processing described above will be described in detail. First, orthogonal transform will be described.
[0096] In the MPEG2 encoding format, processing for orthogonal transform was performed with 8 x 8 pixels as an increment. On the other hand, in the image encoding device 100 which performs orthogonal transform equal to that with AVC encoding format, orthogonal transform with 4 x 4 pixels as an increment is performed with Baseline Profile, Main Profile and Extended Profile. Also, in High Profile or higher, the image encoding device 100 is capable of switching between orthogonal transform in 4 x 4 pixel increments shown at A in Figure 2 and orthogonal transform in 8 x 8 pixel increments shown at B in Figure 2, in macroblock increments. [Orthogonal Transform 4 x 4]
[0097] First, 4 x 4 orthogonal transform will be described. Orthogonal transform in 4x4 pixel increments has the following features.
[0098] A first feature is that, with the MPEG2 encoding format, the computation precision for the transform can be freely defined in relation to each encoding format in a certain range, so there is a need to implement measures for transform divergence inverse, but with the present method both the transform and inverse transform are stipulated in the pattern, so there is no need to implement such measures for divergence.
[0099] A second feature is that the implementation with a 16-bit register is enabled, such that computation is achievable with digital signal processors (DSP (Digital Signal Processor)) type low power consumption, such as used with portable terminals or the like.
[00100] A third feature is that, although mosquito noise due to quantization error at high frequency coefficients has been observed with coding methods using orthogonal transform in 8 x 8 pixel increments, such as MPEG2 and the like, such mosquito noise has not is legibly observed with the present method.
[00101] Figure 3 illustrates an overview of orthogonal transform and quantization processing. That is, each of the 16 x 16 pixels of luminance signals and 8 x 8 pixels of color difference signals included in a macroblock are divided into 4 x 4 pixel blocks, as shown in Figure 3, and each is subject to integral transform processing and quantization processing. Additionally, in relation to color difference signals, as shown in Figure 3, 2 x 2 matrices that collect only the CC component are generated, and these are subjected to order 2 Hadamard transform and quantization.
[00102] Also, in the event that the current macroblock is intra 16 x 16 mode, as shown in Figure 3, 4 x 4 matrices that collect only the CC component are generated, and these are subjected to Hadamard transform of order 4 and quantization.
[00103] Orthogonal transform of order 4 can be described as the following Expression (1).

[00104] Expression (2) is a variant that can be made of this Expression (1).

[00105] Expression (3) is an additional variant that can be made of this Expression (2).

[00106] In this way, the matrix [Cf] can be expressed as the following Expression (4).

[00107] That is, the image encoding device 100 uses the matrix shown on the right side of Expression (4) as an integral transform matrix.
[00108] In this way, integral transform can be performed by addition (addition - subtraction) and displacement (bit shift).
[00109] Also, from Expression (3), the matrix [Ef] can be expressed as the following Expression (5).

[00110] The term on the right side of this Expression (5) is performed by the image encoding device 100 that performs different quantization processing for each 4 x 4 component. In other words, the image encoding device 100 performs orthogonal transform by combination of integral transform and quantization processing.
[00111] Also, the inverse transform can be expressed as the following Expression (6).

[00112] In this way, the right side of Expression (6) can be expressed as the following Expression (7) and Expression (8).


[00113] The matrix shown on the right side of Expression (7) is a 4 x 4 matrix obtained as a result of inverse quantization, while a 4 x 4 matrix in relation to the decoded image is calculated by applying the inverse quantization matrix shown on the side right of Expression (8).
[00114] Inverse integral transform can also be performed by addition (addition - subtraction) and shift (bit shift) only.
[00115] A of figure 4 and B of figure 4 illustrate a technique to perform integral transform and inverse integral transform by butterfly computing. [Orthogonal Transform 8 x 8]
[00116] Next, the description will be made considering the 8 x 8 orthogonal transform, which can be used with High and High Profile AVC.
[00117] In the image coding device 100, 8 x 8 orthogonal transform is defined as the integral transform performed only with addition - subtraction and displacement computation, equal to the 4 x 4 case.
[00118] First, the image encoding device 100 performs orthogonal transform calculation for eight points in the horizontal direction and then performs transform for eight points in the vertical direction.
[00119] To simplify the description, one-dimensional integral transform of order 8 will be described.
[00120] With input signals from {d0, d1, d2, d3, d4, d5, d6, d7}, first, the calculation of the following Expression (9) to Expression (16) is performed.

[00121] Next, the calculation of the following Expression (17) to Expression (24) is performed for {e0, e1, e2, e3, e4, e5, e6, e7}.

[00122] Additionally, the calculation of the following Expression (25) to Expression (32) is performed for {e'0, e'1, e'2, e'3, e'4, e'5, e'6, e'7}, obtaining orthogonally transformed coefficients {D0, D1, D2, D3, D4, D5, D6, D7}.


[00123] Inverse orthogonal transform from {D0, D1, D2, D3, D4, D5, D6, D7} to {d0, d1, d2, d3, d4, d5, d6, d7} is performed as follows.
[00124] That is, first, from {D0, D1, D2, D3, D4, D5, D6, D7} until {f0, f1, f2, f3, f4, f5, f6, f7} are calculated as with the following Expression (34) to Expression (40).

[00125] Next, from {f0, f1, f2, f3, f4, f5, f6, f7} to {f'0, f'1, f'2, f'3, f'4, f'5, f'6, f'7} is calculated as with the following Expression (41) through Expression (48).

[00126] Finally, from {f'0, f'1, f'2, f'3, f'4, f'5, f'6, f'7} to {d0, d1, d2, d3, d4 , d5, d6, d7} is calculated as with the following Expression (49) through Expression (56).

[Unlock Filter]
[00127] Next, the unlocking filter will be described. Unblocking filter 111 removes block noise in decoded images. In this way, block noise propagation in the image referenced by motion compensation processing is suppressed.
[00128] The following three methods (a) through (c) for deblocking filter processing can be selected by the two deblockling_filter_control_present_flag parameters included in the RBSP (Raw Byte Sequence Payload) of the Figure Parameter Set and disable_deblocking_filter_idincluded in slice header (Slice header), which are included in the encoded data. (a) applied to block contours and macroblock contours (b) applied only to macroblock contours (c) not applied
[00129] As for a QP quantization parameter, QPY is used in case of application of the following processing on luminance signals and QPC is used in case of application on color difference signals. Also, although pixel values belonging to different slices are processed as "unavailable" in motion vector encoding, intraprediction and entropy encoding (CAVLC / CABAC), with filter unlock processing, even pixel values belonging to different slices are rendered as "available" as long as they belong to the same figure.
[00130] Next, the pixel values before unlock filter processing are said to be p0 through p3 and q0 through q3, and the pixel values after unlock filter processing are p0'through p3' and q0 'up to q3', as shown in figure 5.
[00131] First, before unlocking filtering processing, Bs (Boundary Strength) is set to p and q in figure 5, as with the table shown in figure 6.
[00132] The (p2, p1, p0, q0, q1, q2) in Fig. 5 is subjected to filtering unlock processing only in the event that the conditions shown in the following Expression (57) and Expression (58) hold.

[00133] In the default state, α and β in Expression (58) have their values determined according to QP, as shown below, but the user can adjust their intensities, as indicated by the arrows in the graph of figure 7 , by the two parameters called slice_alpha_c0_offset_div2 and slice_beta_offset_div2, which are included in the slice header of the encoded data.
[00134] As shown in the table in figure 8, α is obtained from indexA. Likewise, β is obtained from indexB. These indexA and indexB are defined as with the following Expression (59) through Expression (61).

[00135] In Expression (60) and Expression (61), FilterOffsetA and FilterOffsetB correspond to the amount of adjustment by the user.
[00136] With unlock filter processing, mutually different methods are defined for the case of Bs < 4 and the case of Bs = 4, as will be described below. In the case of Bs < 4, the pixel values p'0 and q'0 after filtering unlock processing are obtained as with the following Expression (62) through Expression (64).

[00137] Now tC is calculated as with Expression (65) or Expression (66) below. That is, in the event that the chromaEdgeFlag value is "0", tC is calculated as with the following Expression (65).

[00138] Also, in the event that the value of chromaEdgeFlag is different from "0", tC is calculated as with the following Expression (66).

[00139] The value of tc0 is defined as shown in the table in A of figure 9 and in B of figure 9, according to Bs and the value of indexA.
[00140] Also, the values of ap and aq in Expression (65) are calculated as with the following Expressions (67) and (68).

[00141] The pixel value p'1 after filtering unlock processing is obtained as follows. That is, in the event that the value of chromaEdgeFlag is "0" and also the value of ap is different from β, p'1 is obtained as with the following Expression (69).

[00142] Also, in the event that Expression (69) does not hold, p'1 is obtained as with the following Expression (70).

[00143] Pixel value q'1 after filtering unlock processing is obtained as follows. That is, in the event that the value of chromaEdgeFlag is "0" and also the value of aq is different from β, q'1 is obtained as with the following Expression (71).

[00144] Also, in the event that Expression (71) does not hold, q'1 is obtained as with the following Expression (72).

[00145] The values of p'2 and q'2 are unchanged from the values of p2 and q2 before Filtration. That is, p'2 is obtained as with the following Expression (73) and q'2 is obtained as with the following Expression (74).

[00146] In the case of Bs = 4, the pixel values p'I (i = 0..2) after filter unlocking are obtained as follows. In the event that the chromaEdgeFlag value is "0" and the conditions shown in the following Expression (75) hold, p'0, p'1 and p'2 are obtained as with the following Expression (76) to Expression (78 ).

[00147] Also, in the event that the conditions shown in Expression (75) do not hold, p'0, p'1 and p'2 are obtained as with the following Expressions (79) to (81).

[00148] The q'i pixel values (I = 0.2) after unlocking filtering processing are obtained as follows. That is, in the event that the chromaEdgeFlag value is "0" and the conditions shown in the following Expression (82) hold, q'0, q'1 and q'2 are obtained as with the following Expressions (83) until (85).

[00149] Also, in the event that the conditions shown in Expression (82) do not hold, q'0, q'1 and q'2 are obtained as with the following Expressions (86) to (88).
[Loop Filter]
[00150] Now, in the case of transmission of images with even higher resolution, such as 4,000 x 2,000 pixels, or transmission of existing high-view images over lines with limited bandwidth, as with the Internet, the compression rate performed by stroke is still insufficient.
[00151] Now, as a technique to increase encoding efficiency, a loop filter 113 is used with the image encoding device 100. A Wiener Filter, for example, is used for the loop filter 113. Certainly, one filter other than a Wiener Filter can be used for the loop filter 113. The loop filter 113 minimizes the residue with respect to the original image by performing filter processing with respect to the decoded image subjected to deblocking filter processing. The filter coefficient calculating unit 112 calculates loop filter coefficients in such a way that the residue between the decoded image and the original image is minimized by filter processing. Loop filter 113 uses this filtration coefficient to perform filtration processing. Note that this filtering coefficient is transmitted to the image decoding device having been added to the encoded data and is also used for filtering processing at the time of decoding.
[00152] By performing such filtering processing, the image encoding device 100 can increase the image quality of the decoded image and can further increase the image quality of the reference image. [Prediction Mode Selection]
[00153] Now making the macroblock size 16 pixels x 16 pixels is not ideal for large image frames, such as UHD (Ultra High Definition; 4000 pixels x 2000 pixels), which is the object of the next encoding formats generation. It was proposed to make the macroblock size 32 pixels x 32 pixels, 64 pixels x 64 pixels and the like, for example.
[00154] In order to achieve even higher coding efficiency, selecting an appropriate prediction mode is important. For example, a method can be conceived in which one of the two techniques of a High Complexity Mode and a Low Complexity Mode is selected. In the case of this method, with either of them, cost function values related to each prediction mode are calculated and the prediction mode that makes this the smallest is selected as the optional mode for the current block or macroblock.
[00155] The cost function with High Complexity Mode can be obtained as with the following Expression (89).

[00156] In Expression (89), Q is the full set of candidate modes to encode the current block or macroblock. Also, D is the energy difference between the decoded image and the input image in the case of encoding with the current prediction mode. Additionally, X is a Lagrange multiplier given as a function of a quantization parameter. Also, R is the total amount of code in the case of coding with the current mode, including orthogonal transform coefficients.
[00157] That is, in order to perform coding with the High Complexity Mode, there is a need to perform coding processing attempt once for all candidate modes, in order to calculate the exposed D and R parameters, requiring a larger amount of computations.
[00158] On the other hand, the cost function in Low Complexity Mode can be obtained as shown in the following Expression (90).

[00159] That is, in Expression (90), D is the energy difference between the preview image and the input image, different from the case of High Complexity Mode. Also, QP2Quant(QP) is given as a function of a QP quantization parameter. Additionally, HeaderBit is the amount of code related to information belonging to the Header that does not include orthogonal transform coefficients, such as motion and mode vectors.
[00160] That is, in Low Complexity Mode, prediction processing needs to be performed for each candidate mode, but there is no need to perform to the end even a decoded image, so there is no need to perform to the end the decoding processing. In this way, execution with a smaller amount of computation, if compared to High Complexity Mode, is enabled.
[00161] With High Profile, the selection between the 4 x 4 orthogonal transform and the 8 x 8 orthogonal transform, as shown in figure 2, is performed based on one of the above-described High Complexity Mode and Low Complexity Mode.
[00162] Now, making the macroblock size as 16 pixels x 16 pixels is not ideal for large image frames such as UHD, which is the object of next generation encoding formats. It has been proposed to make the macroblock size as 32 pixels x 32 pixels, for example, as shown in figure 10.
[00163] By employing a hierarchical structure, as shown in Figure 10, a larger block is defined for 16 x 16 pixel blocks or smaller, as a superset of it, still maintaining compatibility with macroblocks in the current AVC. [Example of Detailed Configuration]
[00164] As described above, the picture encoding device 100 applies loop filter processing in the picture encoding processing. The image encoding device 100 obtains an optimal filtering coefficient for loop filter processing for each size of the orthogonal transform and performs filtering processing of each macroblock with an appropriate filtering coefficient for this size of the orthogonal transform.
[00165] The following is a detailed description of the configuration of the filter coefficient calculation unit 112 and the loop filter 113, which are settings related to a loop filter like this one.
[00166] Figure 11 is a block diagram illustrating an example of the main configuration of the filter coefficient calculation unit 112 and the loop filter 113.
[00167] As shown in Figure 11, the filter coefficient calculation unit 112 has a temporary storage of the orthogonal transform size 151, a decoded pixel classification unit 152, an input pixel classification unit 153, a 4 x 4 block coefficient calculation unit 154 and an 8 x 8 block coefficient calculation unit 155.
[00168] Also, the loop filter 113 has a pixel classification unit 161, a filter unit (4 x 4) 162 and an filter unit (8 x 8) 163.
[00169] First, the decoded image is supplied from deblocking filter 111 to frame memory 114. Also, information related to the size of the orthogonal transform of each macroblock (either 4 x 4 or that is 8 x 8) is supplied from the transform unit orthogonal 104 to the temporary storage of the orthogonal transform size 151 of the filter coefficient calculation unit 112.
[00170] The decoded image is further supplied from the frame memory 114 to the decoded pixel classification unit 152 of the filter coefficient calculation unit 112. Also, the input image is supplied from the screen rearrangement temporary storage 102 to the unit of input pixel rating 153.
[00171] The decoded pixel classification unit 152 reads the information related to the size of the orthogonal transform from the temporary storage of the size of the orthogonal transform 151 and obtains it. The decoded pixel classification unit 152 performs class classification (grouping) of the decoded image macroblocks into macroblocks considering that 4 x 4 orthogonal transform was applied (4 x 4 orthogonal transform blocks) and macroblocks considering that 8 x 8 orthogonal transform was applied (8 x 8 orthogonal transform blocks), based on the obtained orthogonal transform sizes. Then, the decoded pixel classification unit 152 supplies, from the decoded image, the information related to 4x4 orthogonal transform blocks to the 4x4x4 block coefficient calculation unit 154 and the information related to 8x orthogonal transform blocks. 8 to the block coefficient calculation unit 8 x 8 155.
[00172] In the same way, the input pixel classification unit 153 reads the information related to the size of the orthogonal transform from the temporary storage of the size of the orthogonal transform 151 and obtains it. The input pixel classification unit 153 performs class classification (grouping) of the input image macroblocks into macroblocks considering that 4 x 4 orthogonal transform was applied (4 x 4 orthogonal transform blocks) and macroblocks considering that 8 x orthogonal transform 8 was applied (8 x 8 orthogonal transform blocks), based on the obtained orthogonal transform sizes. Then, the input pixel classification unit 153 supplies, from the input image, the information related to 4 x 4 orthogonal transform blocks to the 4 x 4 block coefficient calculation unit 154 and the information related to orthogonal transform blocks. 8 x 8 to the coefficient calculation unit of the 8 x 8 155 block.
[00173] The 4 x 4 block coefficient calculation unit 154 calculates a filtration coefficient (eg Weiner filtration coefficient) in such a way that the residue is the smallest, using the decoded image and the input image of a 4 x 4 orthogonal transform block supplied to it. The 4 x 4 block coefficient calculation unit 154 supplies the calculated filter coefficient to the lossless coding unit 106 and also supplies the (4 x 4) filter unit 162 of the loop filter 113.
[00174] In the same way, the block coefficient calculation unit 8 x 8 155 calculates a filtration coefficient (for example, Weiner filtration coefficient) in such a way that the residue is the smallest, using the decoded image and the Input image of an 8 x 8 orthogonal transform block supplied to it. The block coefficient calculation unit 8 x 8 155 supplies the calculated filter coefficient to the lossless coding unit 106 and also supplies the filter unit (8 x 8) 163 of the loop filter 113.
[00175] The lossless encoding unit 106 adds the supplied filtering coefficients to the encoded data.
[00176] Now, the pixel classification unit 161 of the loop filter 113 is supplied with information related to the size of the orthogonal transform (either 4 x 4 or that is 8 x 8) considering each macroblock shape of the orthogonal transform unit 104. The pixel classification unit 161 thereof is supplied with the decoded image coming from the unlocking filter 111.
[00177] The pixel classification unit 161 performs class classification (grouping) of the decoded image macroblocks into macroblocks considering that 4 x 4 orthogonal transform was applied (4 x 4 orthogonal transform blocks) and macroblocks considering that 8 x orthogonal transform 8 was applied (8 x 8 orthogonal transform blocks), based on the information related to the orthogonal transform sizes supplied from the orthogonal transform unit 104. Then, the pixel classification unit 161 supplies, from the decoded image, the information related to 4 x 4 orthogonal transform blocks to the (4 x 4) filter unit 162 and information related to 8 x 8 orthogonal transform blocks to the (8 x 8) filter unit 163.
[00178] The (4 x 4) filter unit 162 applies an appropriate filtration coefficient to the 4 x 4 orthogonal transform block supplied from the 4 x 4 block coefficient calculation unit 154 and performs filtration processing on the blocks x 4 orthogonal transform image of the decoded image.
[00179] The filter unit (8 x 8) 163 applies an appropriate filtration coefficient to the 8 x 8 orthogonal transform block supplied from the 8 x 8 block coefficient calculation unit 155 and performs filtration processing on the blocks x 8 orthogonal transform image of the decoded image.
[00180] Filter unit (4 x 4) 162 and filter unit (8 x 8) 163 store the decoded image subjected to filter processing in frame memory 114 to be transmitted to motion prediction / compensation unit 117 in a predetermined timing.
[00181] The filter coefficient calculation unit 112 and the loop filter 113 perform processing, as stated, to generate filter coefficients for each size of the orthogonal transform and perform filter processing.
[00182] It can be said that the nature of the location in an image is reflected in the size of the orthogonal transform. For example, the 8 x 8 orthogonal transform is most likely selected for uniform areas (parts where the frequency is coarse) and the 4 x 4 orthogonal transform is most likely selected for areas that include fine texture (parts where the frequency is dense) .
[00183] Also, different trends of image quality deterioration are observed between the 8 x 8 orthogonal transform and the 4 x 4 orthogonal transform. For example, mosquito noise is readily observed with the 8 x 8 orthogonal transform, but mosquito noise is not is readily observed with the 4 x 4 orthogonal transform.
[00184] In this way, the filter coefficient calculation unit 112 reflects the nature of the location in the image in the filter coefficients by generating filter coefficients for each size of the orthogonal transform, as explained. For example, the filtration coefficient calculation unit 112 can perform control to adjust the values of the filtration coefficients such that the loop filter 113 applies weaker filtration in the parts where the frequency is coarse and applies stronger filtration. in the parts where the frequency is dense.
[00185] Note that the filter coefficient calculation unit 112 can also increase / decrease the number of filter taps, in addition to simply changing the filter coefficient values. For example, the filter coefficient calculation unit 112 can reduce the number of taps with respect to parts where the frequency is coarse and increase the number of taps with respect to parts where the frequency is dense. Of course, the filter coefficient calculation unit 112 can perform both adjustment of filter coefficient values and increase/reduction in the number of derivations.
[00186] Thus, filter processing is performed using filter coefficients in which the nature of the location in the image has been reflected, so the loop filter 113 can perform noise removal appropriate to the nature of the location that the image has, and can further increase the image quality of the decoded image.
[00187] Note that the image encoding device 100 thus performs switching based on existing values as syntax elements, called orthogonal transform size, so there is no need to re-add map information in the related encoded data which filter coefficient to send and, in this way, high quality image processing can be performed without increasing overprocessing on the encoded data (without reducing encoding efficiency). [Processing Flow]
[00188] Next, the processing flow that uses the configured parts, as described above, will be described. First, an example of the encoding processing flow performed by the image encoding device 100 will be described in relation to the flowchart of Figure 12.
[00189] In step S101, the A/D conversion unit 101 converts an input image from analog to digital. At step S102, the screen rearrangement temporary storage 102 stores the A/D converted image and performs sequence rearrangement to display the pictures for the sequence to encode.
[00190] In step S103, the intraprediction unit 116, the prediction/motion compensation unit 117 and the like determine the prediction mode and perform prediction processing to generate a prediction image. Details of this forecast processing will be described later.
[00191] In step S104, the computing unit 103 computes the difference between an image rearranged by the processing in step S102 and the prediction image generated by the prediction processing in step S103. The prediction image is supplied to the computing unit 103 of the motion prediction/compensation unit 117 in the event of interpredicting and from the intraprediction unit 116 in the intrapredictioning event by means of the selection unit 118.
[00192] The difference data is less in the amount of data compared to the original image data. In this way, the amount of data can be compressed compared to the case of encoding the original image without change.
[00193] In step S105, the orthogonal transform unit 104 subjects the difference information generated by the processing in step S104 to the orthogonal transform. Specifically, orthogonal transforms, such as discrete cosine transform, Karhunen-Loéve or the like, are performed, and a transform coefficient is transmitted. In step S106, the quantization unit 105 quantizes the transform coefficient. At the time of this quantization, a rate is controlled, as described below in the processing of step S115, which will be described.
[00194] In step S107, the lossless coding unit 106 encodes the quantized transform coefficient transmitted from the quantization unit 105.
[00195] Also, the difference information thus quantized is locally decoded as follows. Specifically, in step S108, inverse quantization unit 108 subjects the transform coefficient quantized by quantization unit 105 to inverse quantization using a property corresponding to the property of quantization unit 105. In step S109, inverse orthogonal transform unit 109 subjects the transform coefficient subjected to inverse quantization by the inverse quantization unit 108 to the inverse orthogonal transform using a property corresponding to the property of the orthogonal transform unit 104.
[00196] In step S110, the computing unit 110 adds the prediction image supplied by means of the selection unit 118 into the locally decoded difference information and generates a locally decoded image (the image corresponding to the input in the computing unit 103). In step S111, the unblocking filter 111 subjects the decoded image supplied from the computing unit 110 to unblocking filtering. Thus, block noise is removed.
[00197] By the above processing is performed for a figure, in step S112, the filter coefficient calculation unit 112 and the loop filter 113 perform loop filter processing. The details of loop filter processing will be described later.
[00198] In step S113, the lossless coding unit 106 embeds (writes), in the slice header, metadata of the intrapredictive mode information, the interpredict mode information, filtering coefficients for each orthogonal transform block and the like. This metadata is read and used at the time of image decoding.
[00199] In step S114, temporary storage 107 stores encoded data. The encoded data stored in temporary storage 107 is read as appropriate and transmitted to the decoding side via the transmission path.
[00200] In step S115, the rate control unit 119 controls the rate of the quantization operation of the quantization unit 105, so that overloading or underloading does not occur, based on the encoded data stored in temporary storage 107.
[00201] Below, the example of the forecast processing flow executed in step S103 of Figure 12 will be described in relation to the flowchart of Figure 13.
[00202] Upon prediction processing being started, at step S131, the intrapredict unit 116 uses the reference image obtained from the frame memory 114 by means of the selection unit 115 and the input image supplied from the temporary storage of screen rearrangement 102 to calculate values of the cost function for each of the intra 4 x 4, intra 8 x 8 and intra 16 x 16 modes (each intra mode prepared in advance).
[00203] In step S132, the intraforecast unit 116 decides the best mode for each of the intra 4 x 4, the intra 8 x 8 and the intra 16 x 16, based on the values of the cost function of each mode calculated in the step S131.
[00204] At step S133, the intraforecast unit 116 selects the best intra mode from intra 4 x 4, intra 8 x 8 and intra 16 x 16.
[00205] In parallel with each processing from step S131 to step S133, the prediction / motion compensation unit 117 performs each processing from step S134 to step S137.
[00206] In step S134, the motion prediction / compensation unit 117 performs motion search. In step S135, the motion prediction / compensation unit 117 decides a motion vector / frame of reference for each of the modes inter 16 x 16 to inter 4 x 4.
[00207] In step S136, the motion prediction / compensation unit 117 calculates the values of the cost function for each of the modes inter 16 x 16 to inter 4 x 4.
[00208] In step S137, the movement forecast / compensation unit 117 decides the best inter mode based on the values of the cost function.
[00209] In step S138, the selection unit 118 decides one of the best intra mode selected in step S133 and the best inter mode decided in step S137 as the best mode.
[00210] In step S139, the intraprediction unit 116 or the prediction/motion compensation unit 117 corresponding to the mode decided as the best mode generates a prediction image. This prediction image is supplied to the computing unit 103 and the computing unit 110 by means of the selection unit 118. Also, this best mode prediction mode information at this time (intra-prediction mode information or inter-prediction mode information) is supplied to the lossless encoding unit 106.
[00211] Upon the prediction image being generated, the prediction processing ends, the flow returns to step S103 of Fig. 12, and the processing of step S104 and following is performed.
[00212] Below, an example of the loop filter processing flow executed in step S112 of figure 12 will be described in relation to the flowchart of figure 14.
[00213] Upon processing the loop filter being initiated, in step S151, each of the decoded pixel classification unit 152, the input pixel classification unit 153 and the pixel classification unit 161 groups (performs class classification de) the macroblocks of the input image or decoded image supplied to them for each size of the orthogonal transform applied in the orthogonal transform processing performed in step S105 of figure 12.
[00214] In step S152, the block coefficient calculation unit 4 x 4 154 and the block coefficient calculation unit 8 x 8 155 calculate filtration coefficients for each of the groups.
[00215] In step S153, filter unit (4 x 4) 162 and filter unit (8 x 8) 163 perform filtration processing on each group using the filtration coefficients calculated in step S152.
[00216] At step S154, frame memory 114 stores the results of the filtering processing performed at step S153 (the decoded image subjected to filtering processing). This image is supplied to the prediction / motion compensation unit 117 as a reference image at a predetermined timing.
[00217] Upon processing of step S154 finishes, processing of the loop filter ends, the flow returns to step S112 of Figure 12 and processing of step S113 and following is performed.
[00218] By performing each processing as set out, the filter coefficient calculation unit 112 can generate appropriate filter coefficients for each size of the orthogonal transform. Also, loop filter 113 can perform filter processing of each of the macroblocks using filter coefficients according to their orthogonal transform sizes.
[00219] As a result of this, the image encoding device 100 can perform noise removal appropriate to the nature of the location in the image and can obtain a reference image with higher image quality.
[00220] Additionally, the lossless encoding unit 106 adds these filtering coefficients to the encoded data, then the filtering coefficients can be used to perform appropriate filtering processing on the decoded image obtained by an image decoding device that decodes the encoded data. That is, the image encoding device 100 can increase the image quality of a decoded image obtained by decoding the encoded data that the image encoding device 100 generated.
[00221] Note that, in the foregoing, "add" means to correlate control information with coded data in an optional way. For example, this can be described as a syntax of encoded data or it can be described as user data. Also, the information of filtering coefficients and the like can be put into a linked state with the data encoded as metadata. That is, "adds" includes "embeds", "describes", "multiplexes", "links" and the like. This also holds true below.
[00222] Also, although the description has been exposed with the orthogonal transform sizes of 4 x 4 and 8 x 8, the orthogonal transform sizes are optional. Also, the number of sizes of the applied orthogonal transform is also optional.
[00223] Grouping (class classification), in case the applied orthogonal transform sizes are three or more, can be performed in such a way that classification is performed in relation to two of all orthogonal transform sizes, and the other sizes orthogonal transform are ignored (not selected). In this case, the ignored group is not subjected to filter processing. In this case, whether or not filtration processing takes place can be controlled by indicator information or the like, for example.
[00224] Also, for example, orthogonal transform sizes can be arranged to be divisible into two groups. That is, in this case, multiple sizes of orthogonal transform can coexist in a group. Additionally, for example, orthogonal transform sizes can be divisible into mutually different groups. In this case, the number of groups is three or more. In this case, the number of coefficient calculation units and filter units (figure 11) prepared is equal to the number of groups.
[00225] Also, processing increments with filters can be in frames, can be in slices or can be still others. Also, increments to perform class classification (image size of partial images which are processing increments) may be different from macroblocks. <2. Second Mode> [Device Configuration]
[00226] Next, an image decoding device corresponding to the image encoding device 100 described in the first embodiment will be described. Figure 15 is a block diagram illustrating the exemplary configuration of an embodiment of an image decoding device that serves as an image processing device to which the present invention has been applied.
[00227] An image decoding device 200 decodes encoded data transmitted from the image encoding device 100 and generates a decoded image.
[00228] An image decoding device 200 is configured by a temporary storage 201, a lossless decoding unit 202, an inverse quantization unit 203, an inverse orthogonal transform unit 204, a computing unit 205 and a filter computing unlocking 206. The image decoding device 200 also has a loop filter 207. The image decoding device 200 additionally has a screen rearrangement buffer 208 and a D/A (Digital / Analog I) conversion unit 209 The image decoding device 200 also has frame memory 210, a selection unit 211, an intraprediction unit 212, a motion prediction/compensation unit 213 and a selection unit 214.
[00229] Temporary storage 201 stores encoded data transmitted to it. The lossless decoding unit 202 decodes information supplied from the temporary storage 201 and encoded by the lossless encoding unit 106 of Fig. 1 using a format corresponding to the encoding format of the lossless encoding unit 106.
[00230] In the event that the current macroblock has been intracoded, the lossless decoding unit 202 extracts the intrapredict mode information stored in the header part of the encoded data and transmits it to the intrapredict unit 212. Also, in the event that the Current macroblock has been intercoded, lossless decoding unit 202 extracts motion vector information, interpredict mode information and the like stored in header part of encoded data and transfers them to motion prediction/compensation unit 213.
[00231] Also, the lossless decoding unit 202 extracts filtering coefficients for each of the orthogonal transform sizes of the encoded data and supplies them to the loop filter 207.
[00232] The inverse quantization unit 203 subjects the image decoded by the lossless decoding unit 202 to inverse quantization using a format corresponding to the quantization format of the quantization unit 105 of Fig. 1.
The inverse orthogonal transform unit 204 subjects the output of the inverse quantization unit 203 to the inverse orthogonal transform using a format corresponding to the orthogonal transform format of the orthogonal transform unit 104 of Figure 1. The inverse orthogonal transform unit 204 provides the difference information subjected to the inverse orthogonal transform to the computation unit 205. Also, the inverse orthogonal transform unit 204 supplies the sizes of the orthogonal transform applied to each macroblock, in the inverse orthogonal transform processing thereof, to the loop filter 207.
[00234] The computing unit 205 adds the prediction image supplied from the selection unit 214 into the difference information subjected to the inverse orthogonal transform and generates a decoded image. Unblocking filter 206 removes block noise from the decoded image that was generated by addition processing.
[00235] The loop filter 207 groups (class classification) each of the macroblocks supplied from the unblocking filter 206, based on the information supplied from the inverse orthogonal transform unit 204, for each of the sizes of the orthogonal transform inverse applied in inverse orthogonal transform processing by the inverse orthogonal transform unit 204, and performs filtering processing on each group (class) using the filtering coefficients supplied from the lossless decoding unit 202.
[00236] These filtration coefficients are coefficients that were generated in the filter coefficient calculation unit 112 of the image coding device 100, and were calculated in such a way that the residue is smaller for each size of the orthogonal transform, as described. in the first modality. That is, each of the filtering coefficients for each size of the orthogonal transform is set to a value appropriate to their corresponding orthogonal transform sizes.
[00237] In this way, loop filter 207 can reduce block noise and noise due to quantization that may not be completely removed with unblock filter 206. At this time, loop filter 207 performs appropriate noise removal to the nature of the location in the image and, in this way, can transmit a decoded image of higher image quality.
[00238] Loop filter 207 supplies the image after filtering processing to frame memory 210 to be stored as a reference image, and also transmits to screen rearrangement temporary storage 208.
[00239] Screen rearrange temporary storage 208 performs image rearrangement. That is, the order of the frames rearranged for encoding by screen rearrangement temporary storage 102 in Fig. 1 is rearranged to the original display order. The D/A conversion unit 209 performs D/A conversion of the image supplied from the screen rearrangement temporary storage 208 and transmits it. For example, the D/A conversion unit 209 transmits the transmitted signals obtained by performing the D/A conversion to a screen not shown, and displays an image.
[00240] The intrapredict unit 212 obtains a reference image from the frame memory 210 by means of the selection unit 211 and generates a prediction image based on the information supplied from the lossless decoding unit 202 in the event that the current frame has been intracoded, and supplies the generated prediction image to the computing unit 205 by means of the selection unit 214.
[00241] In the event that the current frame has been intercoded, the motion prediction / compensation unit 213 obtains a reference image from the frame memory 210 by means of the selection unit 211 and performs motion compensation processing with respect to the image based on the motion vector information supplied from the lossless decoding unit 202, and generates a prediction image. The prediction/motion compensation unit 213 supplies the generated prediction image to the computing unit 205 by means of the selection unit 214.
[00242] In the event that the current macroblock has been intracoded, the selection unit 214 connects to the intrapredict unit 212 and supplies the image supplied from the intrapredict unit 212 to the computing unit 205 as a prediction image. Also, in the event that the current macroblock has been intercoded, the selection unit 214 connects to the prediction / motion compensation unit 213 and supplies the image supplied from the prediction / motion compensation unit 213 to the computing unit 205 as a preview image.
[00243] Fig. 16 is a block diagram illustrating an example of the detailed configuration of the loop filter 207 of Fig. 15.
[00244] The loop filter 207 is basically configured with the same configuration as the image encoding device 100 and performs the same processing. As shown in Figure 16, loop filter 207 has a pixel classification unit 251, a filter unit (4 x 4) 252 and a filter unit (8 x 8) 253.
[00245] The pixel classification unit 251 performs class classification (grouping) of the decoded image macroblocks supplied from the deblocking filter 206 into macroblocks considering that the 4 x 4 orthogonal transform was applied (4 x 4 orthogonal transform blocks ) and macroblocks considering that the 8 x 8 orthogonal transform was applied (8 x 8 orthogonal transform blocks), based on the orthogonal transform sizes supplied from the inverse orthogonal transform unit 204. Then, the pixel classification unit 251 supplies, from the decoded image, the information related to 4 x 4 orthogonal transform blocks to the (4 x 4) filter unit 252 and the information related to 8 x 8 orthogonal transform blocks to the (8 x 8) filter unit 253.
[00246] The filter unit (4 x 4) 252 applies an appropriate filtering coefficient to the 4 x 4 orthogonal transform block supplied from the lossless decoding unit 202 and performs filter processing on the 4 x orthogonal transform blocks 4 of the decoded image.
[00247] The filter unit (8 x 8) 253 applies an appropriate filtering coefficient to the 8 x 8 orthogonal transform block supplied from the lossless decoding unit 202 and performs filter processing on the 8 x orthogonal transform blocks 8 of the decoded image.
[00248] The filter unit (4 x 4) 252 and the filter unit (8 x 8) 253 supply the decoded image that has been subjected to filter processing, screen rearrangement buffering 208 and frame memory 210.
[00249] Thus, the loop filter 207 classifies each macroblock in the decoded image by its orthogonal transform size, and performs filter processing using the filter coefficient for its orthogonal transform size. These filtering coefficients were extracted from the data encoded by the lossless decoding unit 202 and, as described in the first embodiment, were generated to be appropriate for the image of each of the block sizes of the orthogonal transform. In this way, in the same way as in the case of the loop filter 113 described in the first embodiment, the loop filter 207 can perform noise removal appropriate to the nature of the location the image has and, consequently, obtain decoded images with image quality taller. [Processing Flow]
[00250] An example of the decoding processing flow that this image decoding device 200 performs will be described in relation to the flowchart of Fig. 17.
[00251] In step S201, temporary storage 201 stores the transmitted image (coded data). In step S202, the lossless decoding unit 202 extracts filtering coefficients from the encoded data. The lossless decoding unit 202 also extracts motion vector information, reference frame information, prediction mode information (intra-prediction mode information and inter-prediction mode information) and the like.
[00252] In step S203, the lossless decoding unit 202 performs lossless decoding processing of the encoded data. In step S204, inverse quantization unit 203 inversely quantizes the transform coefficients decoded in step S203 using a property corresponding to the property of quantization unit 105 of Fig. 1. In step S205, inverse orthogonal transform unit 204 subjects the coefficient of inversely transformed quantized in step S204 to inverse orthogonal transform using a property corresponding to the property of the orthogonal transform unit 104 of Fig. 1. This means that difference information corresponding to the input of the orthogonal transform unit 104 of Fig. 1 (the output of the orthogonal transform unit 104 of Fig. 1 computation 103) has been decoded.
[00253] In step S206, the intraprediction unit 212, the prediction/motion compensation unit 213 and the like perform prediction image generation processing to generate a prediction image according to the prediction mode. Details of this predictive imaging processing will be described below. In step S207, computing unit 205 adds the prediction image generated in step S206 into the difference information decoded by processing up to step S205. Thus, the original image is decoded.
[00254] In step S208, the unblocking filter 206 subjects the image transmitted from the computing unit 205 to filtering. Thus, block noise is removed.
[00255] In step S209, loop filter 207 and the like perform loop filter processing and additionally perform adaptive filter processing on the image that has been subjected to unblock filtering processing. Although details are described later, this loop filter processing is basically the same processing that loop filter 113 of Fig. 1 performs.
[00256] Due to this adaptive filtering processing, block noise and noise due to quantization that may not be completely removed with unlocking filtering processing can be reduced.
[00257] In step S210, screen rearrangement temporary storage 208 performs rearrangement. Specifically, the rearranged frame sequence for encoding by the screen rearrangement temporary storage 102 of the image encoding device 100 in Fig. 1 is rearranged into the original display sequence.
[00258] In step S211, the D/A conversion unit 209 performs D/A conversion of the rearranged images in step S210. This image is transmitted to a screen not shown, and the image is displayed. Upon processing of step S211 completes, decoding processing ends.
[00259] Below, an example of the predictive image generation processing flow performed in step S206 of figure 17 will be described in relation to the flowchart of figure 18.
[00260] Upon prediction image generation processing being started, in step 231, the lossless decoding unit 202 determines whether the current block has been intracoded or not, based on the extracted information, such as prediction mode and the like, in step S202. In the event that this is a block that has been intracoded, the lossless decoding unit 202 supplies the intrapredict mode information extracted from the encoded data to the intrapredict unit 212, and the stream advances to step S232.
[00261] In step S232, the intrapredict unit 212 obtains the intrapredict mode information supplied from the lossless decoding unit 202. Upon obtaining the intrapredict mode information, in step S233, the intrapredict unit 212 obtains an image of reference the frame memory 210 by means of the selection unit 211, based on the intra-predict mode information, and generates an intra-predict image. Upon generation of the intrapredict image, the intrapredict unit 212 supplies this intrapredict image to the computing unit 205 by means of the selection unit 214 as a prediction image.
[00262] Also, in the event that it is determined, in step S231, that the current block has been intercoded, the lossless decoding unit 202 supplies the motion prediction mode, reference frame, motion vector information and the like, extracted from the encoded data, to motion prediction/compensation unit 213, and the flow advances to step S234.
[00263] In step S234, the motion prediction / compensation unit 213 obtains the motion prediction mode information, the reference frame, the motion vector and the like supplied from the lossless decoding unit 202. Upon obtaining From this information, in step S235, the motion prediction/compensation unit 213 selects an interpolation filter according to the motion vector information and, in step S236, obtains a reference image from the frame memory 210 by means of of the selection unit 211 and generates an interpredict image. Upon generation of the inter-prediction image, the prediction/motion compensation unit 213 supplies the inter-prediction image to the computing unit 205 by means of the selection unit 214 as a prediction image.
[00264] Upon the processing of step S233 or step S236 ends, the predictive image generation processing ends, the flow returns to step S206 of Fig. 17 and the processing of step S207 and onwards is performed.
[00265] Below, an example of the loop filter processing flow executed in step S209 of figure 17 will be described in relation to the flowchart of figure 19.
[00266] Upon processing the loop filter being started, in step S251, the filter unit (4 x 4) 252 and the filter unit (8 x 8) 253 of the loop filter 207 obtain filtration coefficients of each group a from the lossless decoding unit 202.
[00267] In step S252, the pixel classification unit 251 obtains the size of the orthogonal transform of the current macroblock from the inverse orthogonal transform unit 204. Based on the obtained orthogonal transform size, the pixel classification unit 251 performs class classification of the current macroblock.
[00268] In step S253, the filter unit corresponding to the size of the orthogonal transform of the current macroblock (both the filter unit (4 x 4) 252 and the filter unit (8 x 8) 253) uses the obtained filtration coefficient in step S251 to perform filter processing on the current macroblock corresponding to the size of the orthogonal transform.
[00269] In step S254, frame memory 210 stores the filter processing results of step S253.
[00270] Upon processing of step S254 ends, processing of the loop filter ends, flow returns to step S209 of Fig. 17, and processing of step S210 and following is performed.
[00271] By performing each of the processings in this manner, the loop filter 207 performs filtering processing, and block noise and noise due to quantization that may not be completely removed with the unblocking filtering processing can be reduced.
[00272] Also, at this time, the loop filter 207 performs filtering processing using filtering coefficients extracted from the encoded data. These filtering coefficients are coefficients that were generated in such a way that the residue is smaller for each size of the macroblock's orthogonal transform. Loop filter 207 performs filter processing of the current macroblock, which is the processing object, using a filter coefficient for this size of the orthogonal transform. Thus, the loop filter 207 can perform noise removal appropriate to the nature of the location in the image. As a result, the image decoding device 200 can obtain decoded images with even higher image quality.
[00273] Also, as in the case of the first modality, orthogonal transform sizes are optional. Also, the number of sizes of the applied orthogonal transform is optional.
[00274] The method for grouping (classification of class of) macroblocks can be any method, as long as it corresponds to the method of the image encoding device 100 that generated the encoded data. Also, processing increments with filters can be in frames, can be sliced, or can be otherwise. <3. Third Mode> [Description of ALF Block Control]
[00275] Note that, in addition to the control of filtering coefficients, as described above, BALF (Block Based Adaptive Loop Filter) in which loop filter processing is not performed in regions where image quality will deteriorate locally because loop filtration can be applied. BALF will be described below.
[00276] An image decoded after filtering deblocking processing is shown in frame 301 in A of figure 20. As shown in B of figure 20, multiple ALF (Adaptive Loop Filter) blocks 302, which are control blocks that they serve as the control increment for locally performed adaptive filtration processing, are arranged with no gaps, as if they were being used to pave the entire region of frame 301. The region in which the ALF 302 blocks are placed need not be the same as the 301 frame region, but includes at least the entire 301 frame region. The 301 frame region is resultantly divided into 302 ALF block regions (multiple control regions).
[00277] The horizontal direction size (303 double-headed arrow) and the vertical direction size (304 double-headed arrow) of the ALF 302 blocks can be one of 8 x 8, 16 x 16, 24 x 24, 32 x 32, 48 x 48, 64 x 64, 96 x 96 or 128 x 128, for example. Note that the information specifying the size of the ALF block will be called the block size index.
[00278] Once the block size is decided, the number of ALF blocks per frame has also been decided, as the frame size is fixed.
[00279] As shown in C of Fig. 20, a filter block indicator 305 which controls whether or not filter processing is performed is defined in each ALF block 302. For example, a filter block indicator 305 with a a value of "1" is generated for a region where the image quality is enhanced by the adaptive filter and a filter block indicator 305 with a value of "0" is set for a region where the image quality is deteriorated by the adaptive filter. With the filter block indicator 305, the value "1" is a value that indicates that filtering processing should be performed and the value "0" is a value that indicates that filtering processing should not be performed.
[00280] Whether or not loop filter processing is performed is controlled based on the value of filter block indicator 305 for each ALF block 302. For example, loop filter 113 performs filtering processing only in the regions where ALF blocks 302 have a value of "1" for filter block indicator 305, and do not perform filtering processing in regions where ALF blocks 302 have a value of "0" for filter block indicator 305.
[00281] For example, such ALF blocks 302 and filter block indicators 305 are defined in the filter coefficient calculation unit 112 and the loop filter 113 performs filter processing in the above-described manner based on this information.
[00282] Thus, the loop filter 113 can prevent the filter processing from being performed in regions where the filter processing will locally deteriorate the image quality, thereby further increasing the image quality of the reference image.
[00283] Note that the information related to blocks ALF 302 and the filter block 305 indicators are added to coded data and supplied to the image decoding device 200. Thus, the loop filter 207 of the image decoding device 200 also it can perform filter processing in the same way as the loop filter 113, and can prevent the filter processing from being performed in regions where filter processing will locally deteriorate the image quality. As a result, the image quality of the decoded image may further increase. <4. Fourth Mode> [Description of QALF]
[00284] ALF blocks described in the third modality can have a quadruple tree structure. This technique is called QALF (Four Tree Based Adaptive Loop Filter). A quad tree structure is a hierarchical structure in which, at a lower hierarchical level, the region of an ALF block one hierarchical level above is divided into four.
[00285] Figure 21 illustrates an example where the division of the ALF block is expressed by a quadruple tree structure, where the maximum number of layers is three, with a filter block indicator being specified for each ALF block.
[00286] A in Figure 21 indicates a layer 0, which is an ALF block that serves as the root of the quad tree structure. In the quad tree structure, each ALF block has a block partitioning indicator that indicates whether it is split into four at the lower hierarchical level or not. The value of the ALF block block partitioning indicator shown in A of Figure 21 is "1". That is, this ALF block is divided into four at the lower hierarchical level (layer 1). B of figure 21 shows layer 1. That is, four ALF blocks are formed in layer 1.
[00287] In the event that the block partitioning indicator is "0", an additionally lower hierarchical level is not split into four. That is, there is no further division, and a filter block indicator is generated with respect to this ALF block. That is, an ALF block whose block partitioning indicator is "0" also has a filter block indicator. The "0" to the left of "0-1" shown in B of Figure 21 indicates the block partitioning indicator of this ALF block, and the "1" to the right shows the filter block indicator of this ALF block.
[00288] The two ALF blocks whose layer 1 block partitioning indicator is "1" are divided into four at the lower hierarchical level (layer 2). C of Figure 21 illustrates layer 2. That is, ten ALF blocks are formed in layer 2.
[00289] Likewise, ALF blocks with a layer 2 block partitioning flag of "0" are also assigned a filter block flag. At C of Fig. 21, the block partitioning indicator of an ALF block is "1". That is, this ALF block is divided into four at the additionally lower hierarchical level (layer 3). D in figure 21 shows layer 3. That is, 13 ALF blocks are formed in layer 3.
[00290] Thus, with a quadruple tree structure, the size of the ALF blocks differs at each hierarchical level. That is, by using a quadruple tree structure, the sizes of the ALF blocks can be made to be different from each other in the frame.
[00291] The filter block indicator control in each ALF block is the same as in the third mode. That is, filter processing is not performed in regions where the filter block indicator value is "0".
[00292] Thus, in the same way as in the case of the third mode, the loop filter 113 can prevent the filter processing from being carried out in regions where the filter processing will locally deteriorate the image quality, thereby further increasing the image quality of the reference image.
[00293] Note that the information related to the control blocks and the filter block indicators are added in the encoded data and supplied to the image decoding device 200. Thus, the loop filter 207 of the image decoding device 200 can also perform filter processing in the same manner as loop filter 113, and can prevent filter processing from being performed in regions where filter processing will locally deteriorate image quality. As a result, the image quality of the decoded image may further increase. <5. Fifth Mode> [Personal computer]
[00294] The above-described series of processing can be performed by hardware and can be performed by software. In this case, a configuration can be done as a personal computer, as shown in figure 22, for example.
[00295] In Figure 22, a CPU 501 of a personal computer 500 performs various types of processing following programs stored in ROM (Read Only Memory) 502 or programs loaded in RAM (Random Access Memory) 503 from a unit of 513 storage. The RAM 503 also stores data and the like necessary for the CPU 501 to perform various types of processing as appropriate.
[00296] The CPU 501, the ROM 502 and the RAM 503 are mutually connected by a bus 504. This bus 504 is also connected to a 510 input/output interface.
[00297] Connected to the input / output interface 510 is an input unit 511 consisting of a keyboard, a mouse and the like, an output unit 512 consisting of a screen, such as a CRT (Cathode Ray Tube), an LCD (Liquid Crystal Display) or the like, a speaker and the like, a storage unit 513 consisting of a hard disk and the like, and a communication unit 514 consisting of a modem and the like. The communication unit 514 performs communication processing over networks, including the Internet.
[00298] Also connected to the input/output interface 510 is a disk drive 515, as required, to which a removable media 521, such as a magnetic disk, an optical disk, a magneto-optical disk, semiconductor memory, or congeners, it is mounted as appropriate, and computer programs read from it are installed on storage unit 513 as needed.
[00299] In the event of execution of the above-described series of software processing, a program that configures the software is installed from a network or recording media.
[00300] As shown in figure 22, for example, this recording media is not only configured by a removable media 521 consisting of a magnetic disk (including floppy disk), optical disk (including CD-ROM (Read Only Memory in Compact Disc), DVD (Digital Versatile Disc), magneto-optical disc (MD (MiniDisc)), semiconductor memory or the like, in which programs are recorded and distributed to distribute programs to users separately from the device's main unit, but it is also configured via ROM 502, a hard disk included in storage unit 513 and the like on which programs are recorded and distributed to users in a state pre-embedded in the main unit of the device.
[00301] Note that a program that the computer runs can be a program in which processing is performed in temporal sequence following the order described in this Specification, or it can be a program in which processing is performed in parallel or in a necessary timing, such as like when a call was placed.
[00302] Also, in this Specification, steps that describe programs recorded on the recording media certainly include processing performed in temporal sequence following the described order and also processing performed in parallel or individually, without necessarily being processed in temporal sequence.
[00303] Also, in this specification, the term system represents the integral of the devices configured by multiple devices (devices).
[00304] Also, a configuration that has been described above as one device (or processing unit) can be divided and configured as multiple devices (or processing units). Conversely, configurations that have been described above as multiple devices (or processing units) can be integrated and configured as a single device (or processing unit). Also, settings other than those described above can certainly be added to devices (or processing units). Additionally, part of a configuration of a certain device (or processing unit) may be included in a configuration of another device (or another processing unit), provided that the configuration and operations of the entire system are substantially the same. That is, the embodiments of the present invention are not restricted to the above-described embodiments, and these various modifications can be made without departing from the essence of the present invention.
[00305] For example, the above-described image encoding device 100 and image decoding device 200 can be applied to handle image in various electronic devices. The following is a description of examples of these. <6. Sixth Modality> [Television Receiver]
[00306] Figure 23 is a block diagram illustrating an example of a main configuration of a television receiver using the image decoding device 200 in which the present invention has been applied.
[00307] A television receiver 1000 shown in Fig. 23 includes a terrestrial tuner 1013, a video decoder 1015, a video signal processing circuit 1018, a graphics generation circuit 1019, a panel drive circuit 1020 and a 1021 display panel.
The terrestrial tuner 1013 receives the broadcast wave signals of an analogue terrestrial broadcast by means of an antenna, demodulates, obtains video signals and supplies them to the video decoder 1015. The video decoder 1015 subjects the video signals supplied from the terrestrial tuner 1013 to the decoding processing and supplies the obtained digital component signals to the video signal processing circuit 1018.
[00309] The video signal processing circuit 1018 subjects the video data supplied from the video decoder 1015 to predetermined processing, such as noise removal or the like, and supplies the video data obtained to the generation circuit of Graphics 1019.
[00310] The graphics generation circuit 1019 generates the video data of a program to be displayed on a display panel 1021 or image data due to processing based on an application to be supplied through a network or the like , and supplies the generated video data or image data to the panel drive circuit 1020. Also, the graphics generating circuit 1019 also performs processing such as supplying the video data obtained by generating the video data (elements graphics) to the user displaying a screen used to select an item or the like and overlay these on the video data of a program on the 1020 panel drive circuit as appropriate.
[00311] The panel drive circuit 1020 drives the display panel 1021 based on the data supplied from the graphics generation circuit 1019 to display the video of a program or the various aforementioned screens on the display panel 1021.
[00312] The 1021 display panel consists of an LCD (Liquid Crystal Display) and the like, and displays the video of a program or the like according to the control by the 1020 panel drive circuit.
[00313] Also, the television receiver 1000 also includes an audio A/D (Analog/Digital) conversion circuit 1014, an audio signal processing circuit 1022, an echo cancellation/audio synthesis circuit 1023, an audio amplifier circuit 1024 and a speaker 1025.
[00314] The terrestrial tuner 1013 demodulates the received broadcast wave signal, thereby obtaining not only a video signal, but also an audio signal. The terrestrial tuner 1013 supplies the obtained audio signal to the audio A/D conversion circuit 1014.
[00315] The audio A/D conversion circuit 1014 subjects the audio signal supplied from the terrestrial tuner 1013 to the A/D conversion processing and supplies the obtained digital audio signal to the audio signal processing circuit 1022.
[00316] The audio signal processing circuit 1022 subjects the audio data supplied from the audio A/D conversion circuit 1014 to predetermined processing, such as noise removal or the like, and supplies the audio data obtained to the 1023 echo cancellation / audio synthesis circuit.
[00317] The echo cancellation / audio synthesis circuit 1023 supplies the audio data supplied from the audio signal processing circuit 1022 to the audio amplifier circuit 1024.
[00318] The audio amplifier circuit 1024 subjects the audio data supplied from the echo cancellation/audio synthesis circuit 1023 to D/A conversion processing, subject to amplifier processing to adjust to the predetermined volume and, then transmits the audio from speaker 1025.
[00319] Additionally, the television receiver 1000 also includes a digital tuner 1016 and an MPEG 1017 decoder.
[00320] The digital tuner 1016 receives the broadcast wave signals of a digital broadcast (digital terrestrial broadcast, digital broadcast by BS (Broadcast Satellite) / CS (Communications Satellite)) through the antenna, demodulates them to obtain MPEG -TS (Continuous Transport Stream of the Moving Image Experts Group) and supplies them to the MPEG 1017 decoder.
[00321] The MPEG 1017 decoder unscrambles the scramble, given to the MPEG-TS supplied from the 1016 digital tuner, and extracts a stream that includes the data of a program that serves as a reproduction object (display object). The MPEG decoder 1017 decodes an audio packet constituting the extracted stream, supplies the obtained audio data to the audio signal processing circuit 1022, also decodes a video packet constituting the stream, and supplies the acquired video data to video signal processing circuit 1018. Also, MPEG decoder 1017 supplies EPG (Electronic Program Guide) data extracted from MPEG-TS to a 1032 CPU via a path not shown.
[00322] The television receiver 1000 uses the aforementioned picture decoding device 200 as the MPEG decoder 1017 to decode video packets in this way. Note that the MPEG-TS transmitted from the broadcast station or the like was encoded by the image encoding device 100.
[00323] The MPEG 1017 decoder performs filtering processing on the decoded image macroblocks corresponding to the size of the orthogonal transform thereof using a filtering coefficient extracted from the encoded data supplied from the image encoding device 100, in the same way as the image decoding device 200. In this way, the MPEG decoder 1017 can perform noise removal appropriate to the nature of the location in the image.
[00324] The video data supplied from the MPEG decoder 1017 is, in the same way as in the case of the video data supplied from the video decoder 1015, subject to predetermined processing in the video signal processing circuit 1018 , superimposed on the generated video data and the like in the graphics generating circuit 1019, as appropriate, supplied to the display panel 1021 via the panel drive circuit 1020, and the image thereof is displayed therein.
[00325] The audio data supplied from the MPEG decoder 1017 is, in the same way as in the case of the audio data supplied from the audio A/D conversion circuit 1014, subject to predetermined processing in the processing circuit of audio signal 1022, supplied to audio amplifier circuit 1024 via echo cancellation/audio synthesis circuit 1023 and subjected to D/A conversion processing and amplifier processing. As a result, the audio set at the predetermined volume is transmitted from the speaker 1025.
[00326] Also, the television receiver 1000 also includes a microphone 1026 and an A/D conversion circuit 1027.
[00327] The A/D conversion circuit 1027 receives the user audio signals collected by the microphone 1026 provided to the television receiver 1000 that serve for audio conversation, subjects the received audio signal to A/D conversion processing and supplies the digital audio data obtained from the 1023 echo cancellation / audio synthesis circuit.
[00328] In the event that the user (user A) audio data of the television receiver 1000 has been supplied from the A/D conversion circuit 1027, the echo cancellation / audio synthesis circuit 1023 performs echo cancellation with the user audio data (user A) taken as an object, and transmits audio data obtained by synthesizing user A audio data, other audio data or the like from the speaker 1025 through the amplifier circuit of audio 1024.
[00329] Additionally, the television receiver 1000 also includes an audio codec 1028, an internal bus 1029, SDRAM (Synchronous Dynamic Random Access Memory) 1030, flash memory 1031, a CPU 1032, a USB (Universal Serial Bus) I /F 1033 and a 1034 network I/F.
[00330] The A/D conversion circuit 1027 receives the user audio signal collected by the microphone 1026 provided to the television receiver 1000 serving for audio conversation, subjecting the received audio signal to A/D conversion processing, and supplies the obtained digital audio data to the 1028 audio codec.
[00331] The 1028 audio codec converts the audio data supplied from the 1027 A/D conversion circuit into data of a predetermined format for transmission over a network, and supplies it to the 1034 network I/F through the internal bus 1029.
[00332] The 1034 network I/F is connected to the network via a cable mounted to a 1035 network terminal. The 1034 network I/F transmits the supplied audio data from the 1028 audio codec to another connected device in this network, for example. Also, the I/F of network 1034 receives, via the network terminal 1035, the audio data transmitted from another device connected to it via the network, and supplies it to the audio codec 1028 via the bus. internal 1029, for example.
[00333] The audio codec 1028 converts the audio data supplied from the I/F network 1034 into data of a predetermined format, and supplies it to the echo cancellation/audio synthesis circuit 1023.
[00334] The echo cancellation / audio synthesis circuit 1023 performs echo cancellation with the audio data supplied from the audio codec 1028, taken as an object, and transmits the audio data obtained by the audio data synthesis and other audio data, or the like, from speaker 1025 via audio amplifier circuit 1024.
[00335] The 1030 SDRAM stores various types of data necessary for the 1032 CPU to perform processing.
[00336] The flash memory 1031 stores a program to be executed by the CPU 1032. The program stored in the flash memory 1031 is read by the CPU 1032 in predetermined timing, such as during activation of the television receiver 1000 or the like. EPG data obtained through a digital broadcast, data obtained from a predetermined server through the network and the like are also stored in flash memory 1031.
[00337] For example, MPEG-TS which includes content data obtained from a predetermined server through the network by the control of CPU 1032 is stored in flash memory 1031. Flash memory 1031 supplies the MPEG-TS of these to the MPEG decoder 1017 via the internal bus 1029 by the control of the CPU 1032, for example.
[00338] The MPEG 1017 decoder processes the MPEG-TS of these in the same way as in the case of the MPEG-TS supplied from the digital tuner 1016. In this way, the television receiver 1000 receives the content data consisting of video, audio and congeners through the network, and decodes them using the MPEG 1017 decoder, according to which, video of these can be displayed and audio of these can be transmitted.
[00339] Also, the television receiver 1000 also includes a light receiving unit 1037 for receiving the infrared signal transmitted from a remote control 1051.
[00340] The light receiving unit 1037 receives infrared rays from the remote control 1051 and transmits a control code representing the user operation content obtained by demodulation to the CPU 1032.
The CPU 1032 executes the program stored in the flash memory 1031 to control the entire operation of the television receiver 1000 in accordance with the control code supplied from the light receiving unit 1037 and the like. The CPU 1032 and television receiver 1000 units are connected via a path not shown.
[00342] AI/F USB 1033 performs data transmission/reception in relation to an external device of the TV receiver 1000 which is connected via a USB cable mounted on a USB 1036 terminal. network via a cable mounted on the 1035 network terminal, and also performs different data transmission/reception of audio data in relation to various devices connected in the network.
[00343] Television receiver 1000 can perform noise removal appropriate to the nature of the location in the picture by using picture decoding devices such as MPEG decoder 1017. As a result, television receiver 1000 can obtain decoded pictures with highest image quality from broadcast signals received through an antenna or from content data obtained through a network. <7. Seventh Mode> [Cell phone]
[00344] Figure 24 is a block diagram illustrating an example of main configuration of a cell phone that uses the image encoding device and the image decoding device in which the present invention has been applied.
[00345] A cell phone 1100 shown in Fig. 24 includes a main control unit 1150 configured to fully control the units, a power supply circuit unit 1151, an input operation control unit 1152, an image encoder 1153 , a camera I/F unit 1154, an LCD control unit 1155, a picture decoder 1156, a multiplexing/separation unit 1157, a recording/playback unit 1162, a modulation/demodulation circuit unit 1158 and a 1159 audio codec. These are mutually connected via an 1160 bus.
[00346] Also, the cell phone 1100 includes operating keys 1119, a CCD (Charge Coupled Device) camera 1116, a liquid crystal display 1118, a storage unit 1123, a transmit/receive circuit unit 1163, a antenna 1114, a microphone (MIC) 1121 and a speaker 1117.
[00347] Upon an end-call and power key being activated by user operation, the power supply circuit unit 1151 activates the cellular phone 1100 in an operational state by supplying power to the units from a power pack. drums.
[00348] The cell phone 1100 performs various operations, such as transmitting/receiving an audio signal, transmitting/receiving an email and image data, image shooting, data recording and the like, in various modes such as a voice call mode, a data communication mode and the like, based on control of the main control unit 1150 consisting of a CPU, ROM, RAM and the like.
[00349] For example, in voice call mode, the cell phone 1100 converts the audio signal collected by the microphone (microphone) 1121 into digital audio data by the audio codec 1159, which subjects it to spread spectrum processing in the unit. modulation/demodulation circuit 1158, and subjects it to digital/analog conversion processing and frequency conversion processing in transmit/receive circuit unit 1163. Cellular telephone 1100 transmits the signal for transmission obtained by the conversion processing thereof into a base station not shown via antenna 1114. The broadcast signal (audio signal) transmitted to the base station is supplied to the cellular telephone of the other party via the public telephone network.
[00350] Also, for example, in the voice call mode, the cell phone 1100 amplifies the receive signal received at the antenna 1114, in the transmit/receive circuit unit 1163, additionally subjected to frequency conversion processing and processing of analog/digital conversion, subject to inverse spread spectrum processing in the modulation/demodulation circuit unit 1158 and converts to an analog audio signal by the audio codec 1159. The mobile phone 1100 transmits the analog audio signal converted and obtained therefrom. from speaker 1117.
[00351] Additionally, for example, in the event of transmission of an email in the data communication mode, the mobile phone 1100 accepts the text data of the email entered by operating the operation keys 1119 in the input control unit. operation 1152. The mobile phone 1100 processes its text data in the main control unit 1150 and displays on the liquid crystal screen 1118 through the LCD control unit 1155 as an image.
[00352] Also, the cell phone 1100 generates e-mail data in the main control unit 1150 based on the text data accepted by the operator input control unit 1152, user instructions and the like. Cellular telephone 1100 subjects its e-mail data to spread spectrum processing in modulation/demodulation circuit unit 1158 and subject to digital/analog conversion processing and frequency conversion processing in transmit/receive circuit unit 1163 The cell phone 1100 transmits the signal for transmission obtained by processing the conversion thereof to a base station not shown by means of antenna 1114. The signal for transmission (electronic mail) transmitted to the base station is supplied to a predetermined destination by means of network, mail server and the like.
[00353] Also, for example, in the event of receiving an email in the data communication mode, the cell phone 1100 receives the signal transmitted from the base station by means of the antenna 1114 with the transmission/reception circuit unit 1163, amplifies it and subjects it further to frequency conversion processing and analog/digital conversion processing. The cellular phone 1100 subjects its receive signal to inverse spread spectrum processing in the modulation/demodulation circuit unit 1158 to restore the original email data. The 1100 mobile phone displays the restored e-mail data on the 1118 liquid crystal display via the 1155 LCD control unit.
[00354] Note that the mobile phone 1100 can record (store) the email data received in the storage unit 1123 by means of the recording/playback unit 1162.
[00355] This 1123 storage unit is an optional rewritable recording media. The 1123 storage unit may be semiconductor memory such as RAM, built-in flash memory or the like, it may be a hard disk, or it may be removable media such as a magnetic disk, a magneto-optical disk, an optical disk, USB memory , a memory card, or the like. Needless to say, storage unit 1123 may differ from these.
[00356] Additionally, for example, in the event of image data transmission in data communication mode, cell phone 1100 generates image data by image processing in CCD camera 1116. CCD camera 1116 includes a CCD that serves as an optical device, such as a lens, diaphragm and the like, and which serves as a photoelectric conversion device, which processes the image of an object, converts the received light intensity into an electrical signal, and generates the image data from an image of the object. The CCD camera 1116 performs compression encoding of the image data in the image encoder 1153 via the camera I/F unit 1154, and converts it into encoded image data.
The cell phone 1100 employs the aforementioned image encoding device 100 as the image encoder 1153 to perform such processing. In this way, in the same way as in the image encoding device 100, the image encoder 1053 can perform noise removal appropriate to the nature of the location in the image.
[00358] Note that at this time, simultaneously, the cell phone 1100 converts the audio collected in the microphone (microphone) 1121, during shooting with the CCD camera 1116, from analog to digital, into the audio codec 1159 and encodes it further.
The mobile telephone 1100 multiplexes the encoded image data supplied from the image encoder 1153 and the digital audio data supplied from the audio codec 1159 in the multiplexing/separation unit 1157 using a predetermined method. The cellular telephone 1100 subjects the multiplexed data obtained therefrom to spread spectrum processing in the modulation/demodulation circuit unit 1158 and subject to digital/analog conversion processing and frequency conversion processing in the transmit/receive circuit unit 1163. The cell phone 1100 transmits the transmit signal obtained by processing the conversion thereof to a base station not shown via antenna 1114. The transmit signal (image data) transmitted to the base station is supplied to the other party through the network or the like.
[00360] Note that in the event that image data is not transmitted, the mobile phone 1100 can also display the image data generated in the CCD camera 1116 on the liquid crystal display 1118 via the LCD control unit 1155 instead of the 1153 image encoder.
[00361] Also, for example, in the event of receiving data from a moving image file linked to a simple Internet page or the like in the data communication mode, the cell phone 1100 receives the signal transmitted from the base station in the transmit/receive circuit unit 1163 via antenna 1114, amplifies it and further subjects it to frequency conversion processing and analog/digital conversion processing. The cellular telephone 1100 subjects the received signal to inverse spread spectrum processing in the modulation/demodulation circuit unit 1158 to restore the original multiplexed data. The mobile phone 1100 separates the multiplexed data thereof in the multiplexing/separation unit 1157 into encoded image data and audio data.
The mobile phone 1100 decodes the encoded image data in the image decoder 1156, thereby generating moving image reproduction data, and displays it on the liquid crystal screen 1118 by means of the LCD control unit 1155. Thus, moving image data included in a moving image file linked to a simple web page is displayed on the liquid crystal display 1118, for example.
The cell phone 1100 employs the aforementioned picture decoding device 200 as the picture decoder 1156 to perform such processing. In this way, in the same way as in the image decoding device 200, the image decoder 1156 can perform noise removal appropriate to the nature of the location in the image.
[00364] At this time, simultaneously, the cell phone 1100 converts the digital audio data into an analog audio signal in the audio codec 1159, and transmits it from the speaker 1117. Thus, audio data included in a file moving image files linked to a simple web page are played back, for example.
[00365] Note that, in the same way as in the case of electronic mail, the mobile phone 1100 can record (store) the received data linked to a simple web page or the like in the storage unit 1123 through the recording/playback unit 1162.
[00366] Also, the cell phone 1100 analyzes the image-treated two-dimensional code obtained by the CCD camera 1116 in the main control unit 1150, whereby information recorded in the two-dimensional code can be obtained.
[00367] Additionally, the cell phone 1100 can communicate with an external device in the infrared communication unit 1181 using infrared rays.
[00368] The cell phone 1100 employs the image encoding device 100 as the image encoder 1153, and this can perform noise removal appropriate to the nature of the location in the image. As a result of this, the mobile phone 1100 can obtain a reference image with higher image quality. Thus, the image quality can become high for decoded images obtained by decoding the encoded data generated by encoding the image data generated in the CCD camera 1116, for example.
[00369] Also, the cell phone 1100 employs the picture decoding device 200 as the picture decoder 1156 and thus can perform noise removal appropriate to the nature of the location in the picture. As a result, the mobile phone 1100 can obtain higher quality decoded images from the data (encoded data) of a moving image file linked to a simple web page or the like, for example.
[00370] Note that the description has been made so far, where the cell phone 1100 employs the CCD camera 1116, but the cell phone 1100 can employ an image sensor (CMOS image sensor) using CMOS (Complementary Metal Oxide Semiconductor) instead of this CCD camera 1116. In this case, too, the mobile phone 1100 can handle the image of an object and generate the image data of an image of the object in the same way as in the case of employing the CCD camera 1116.
[00371] Also, description has been made so far, considering the mobile phone 1100, but the image encoding device 100 and the image decoding device 200 can be applied in any type of device, just as in the case of the phone cell phone 1100, as long as it is a device with the image processing function and communication function the same as those of the cell phone 1100, for example, such as a PDA (Personal Digital Assistant), smart phone, UMPC (Ultra Mobile Personal Computer ), netbook, portable personal computer or the like. <8. Eighth Mode> [Hard Disk Burner]
[00372] Figure 25 is a block diagram illustrating an example of main configuration of a hard disk recorder employing the image encoding device and the image decoding device in which the present invention has been applied.
[00373] A hard disk recorder (HDD recorder) 1200 shown in Fig. 25 is a device that stores, on a built-in hard disk, audio data and video data of a broadcast program included in the broadcast wave signals ( television signals) received by a tuner and transmitted from a satellite, terrestrial antenna or the like, and provides the stored data to the user in sync in accordance with the user's instructions.
[00374] The hard disk recorder 1200 can extract audio data and video data from broadcast wave signals, decode them as appropriate and store them on the built-in hard disk, for example. Also, the hard disk recorder 1200 can also obtain audio data and video data from another device over the network, decode it as appropriate and store it on the built-in hard disk, for example.
[00375] Additionally, the hard disk recorder 1200 can decode audio data and video data recorded on the built-in hard disk, feed it to a 1260 monitor, display an image of these on the screen of the 1260 monitor, and transmit audio of these from above. 1260 monitor speaker, for example. Also, the hard disk recorder 1200 can decode audio data and video data extracted from broadcast signals obtained by means of a tuner, or audio data and video data obtained from another device by means of a network, supply them to monitor 1260, display an image of these on the screen of monitor 1260, and transmit audio from these from the speaker of monitor 1260, for example.
[00376] Certainly, operations other than these can be performed.
[00377] As shown in Figure 25, the hard disk recorder 1200 includes a receiver unit 1221, a demodulation unit 1222, a demultiplexer 1223, an audio decoder 1224, a video decoder 1225 and a control unit. 1226 recorder. The 1200 hard disk recorder additionally includes 1227 EPG data memory, 1228 program memory, 1229 working memory, a 1230 display converter, an OSD (On Screen Display) 1231 control unit, a display control unit 1232, a recording/playback unit 1233, a D/A converter 1234 and a communication unit 1235.
[00378] Also, display converter 1230 includes a 1241 video encoder. Record/playback unit 1233 includes a 1251 encoder and a 1252 decoder.
[00379] The receiving unit 1221 receives the infrared signal from the remote control (not shown), converts it to an electrical signal and transmits it to the control unit of the recorder 1226. The control unit of the recorder 1226 is configured, by for example, by a microprocessor and the like, and performs various types of processing in accordance with the program stored in program memory 1228. At this time, the control unit of recorder 1226 uses working memory 1229 as required.
[00380] The communication unit 1235, which is connected to the network, performs communication processing with another device through the network. For example, communication unit 1235 is controlled by recorder control unit 1226 to communicate with a tuner (not shown) and mainly to transmit a channel selection control signal to the tuner.
[00381] The demodulation unit 1222 demodulates the supplied signal from the tuner and transmits it to the demultiplexer 1223. The demultiplexer 1223 separates the supplied data from the demodulation unit 1222 into audio data, video data and EPG data, and transmits them to the audio decoder 1224, the video decoder 1225 and the recorder control unit 1226, respectively.
The audio decoder 1224 decodes the input audio data and transmits it to the recording/playback unit 1233. The video decoder 1225 decodes the input video data and transmits it to the display converter 1230. 1226 recorder supplies the entered EPG data to the 1227 EPG data memory for storage.
[00383] The 1230 display converter encodes the video data supplied from the 1225 video decoder or the 1226 recorder control unit, for example, into video data conforming to the NTSC (National Committee for Television Standards) format ) using video encoder 1241 and transmits them to recording/playback unit 1233. Also, display converter 1230 converts the screen size of video data supplied from video decoder 1225 or recorder control unit 1226 in the size corresponding to the size of the 1260 monitor, converts the video data whose screen size has been converted to video data conforming to the NTSC format using the 1241 video encoder, converts it to an analog signal and transmits it to the control unit display 1232.
[00384] The display control unit 1232 superimposes, under the control of the recorder control unit 1226, the OSD signal transmitted from the OSD (On Screen Display) control unit 1231 on the video signal input from the converter. 1230 display, and transmits it to the 1260 monitor screen for display.
[00385] Also, the audio data transmitted from the audio decoder 1224 was converted to an analog signal using the D/A converter 1234 and supplied to the 1260 monitor. The 1260 monitor transmits this audio signal from a loudspeaker. built-in speaker.
[00386] The 1233 recording/playback unit includes a hard disk as a recording medium on which video data, audio data and the like are recorded.
[00387] The recording/playback unit 1233 encodes the audio data supplied from the audio decoder 1224 by the encoder 1251. Also, the recording/playback unit 1233 encodes the video data supplied from the video encoder 1241 of the display converter 1230 by encoder 1251. The recording/playback unit 1233 synthesizes the encoded data from the audio data thereof and the encoded data from the video data thereof using the multiplexer. The recording/playback unit 1233 amplifies the synthesized data by channel coding and writes the data thereof to the hard disk by means of a recording head.
[00388] The recording/playback unit 1233 reproduces the data recorded on the hard disk by means of a playback head, amplifies and separates them into audio data and video data using the demultiplexer. The recording/playback unit 1233 decodes the audio data and video data by decoder 1252 using the MPEG format. Recording/playback unit 1233 converts the decoded audio data from digital to analog and transmits it to the speaker of the 1260 monitor. Also, the recording/playback unit 1233 converts the decoded video data from digital to analog and transmits it to the 1260 monitor screen.
[00389] The control unit of the recorder 1226 reads the latest EPG data from the EPG data memory 1227 based on user instructions indicated by the infrared signal from the remote that is received through the receiving unit 1221 and supplies it to the 1231 OSD control unit. The 1231 OSD control unit generates image data corresponding to the input EPG data and transmits it to the 1232 display control unit. The 1232 display control unit transmits the input video data from the input unit. 1231 OSD control to 1260 monitor screen for display. Thus, EPG (Electronic Program Guide) is displayed on the 1260 monitor screen.
[00390] Also, the hard disk recorder 1200 can obtain various types of data such as video data, audio data, EPG data and the like supplied from another device through the network, such as the Internet or the like .
[00391] The communication unit 1235 is controlled by the control unit of the recorder 1226 to obtain encoded data such as video data, audio data, EPG data and the like transmitted from another device through the network and to supply them to the control unit of the recorder 1226. The control unit of the recorder 1226 supplies the encoded data of the video data and audio data obtained to the recording/playback unit 1233 and stores them on the hard disk, for example. At this time, the recorder control unit 1226 and the recording/playback unit 1233 can perform processing, such as recoding or the like, as needed.
[00392] Also, the control unit of the recorder 1226 decodes the encoded data from the acquired video data and audio data and supplies the acquired video data to the display converter 1230. The display converter 1230 processes in the same way as it occurs with the video data supplied from the video decoder 1225, the video data supplied from the recorder control unit 1226, supplies it to the monitor 1260 via the display control unit 1232 to display an image thereof.
[00393] Alternatively, an arrangement can be made in which, according to this image display, the control unit of the recorder 1226 supplies the decoded audio data to the monitor 1260 by means of the D/A converter 1234 and transmits audio from these to from the speaker.
[00394] Additionally, the recorder control unit 1226 decodes the encoded data from the obtained EPG data and supplies the decoded EPG data to the EPG data memory 1227.
[00395] The hard disk recorder 1200 thus configured employs the image decoding device 200 as the video decoder 1225, the decoder 1252 and the decoder housed in the control unit of the recorder 1226. the image decoding device 200, the video decoder 1225, the decoder 1252 and the decoder housed in the control unit of the recorder 1226 can perform noise removal appropriate to the nature of the location in the image.
[00396] In this way, the hard disk recorder 1200 can perform noise removal appropriate to the nature of the location in the image. As a result, the hard disk recorder 1200 can obtain higher quality decoded images from video data (encoded data) received through the tuner or communication unit 1235 and from video data (encoded data) recorded on the hard drive recording/playback unit 1233, for example.
[00397] Also, the hard disk recorder 1200 employs the image encoding device 100 as the encoder 1251. In this way, in the same way as in the case of the image encoding device 100, the encoder 1251 can perform noise removal appropriate for the nature of the location in the picture.
[00398] In this way, the hard disk recorder 1200 can perform noise removal appropriate to the nature of the location in the image. As a result of this, the hard disk recorder 1200 can enhance the image quality of decoded images from encoded data recorded on the hard disk, for example.
[00399] Note that description has been made so far regarding the hard disk recorder 1200 for recording video data and audio data on the hard disk, but it goes without saying that any type of recording medium can be employed. For example, even with a recorder on which a recording medium other than a hard disk, such as flash memory, optical disk, videotape or the like, is applied, the image encoding device 100 and the image decoding device 200 can be applied to it in the same way as for the exposed hard disk recorder 1200. <9. Ninth Mode> [Camera]
[00400] Figure 26 is a block diagram illustrating an example of a main configuration of a camera that employs the image encoding device and the image decoding device in which the present invention has been applied.
[00401] A camera 1300 shown in Fig. 26 takes an image of an object, displays an image of the object on a 1316 LCD and records it on a 1333 recording medium as image data.
[00402] A 1311 block lens inserts light (ie, picture of an object) into a 1312 CCD/CMOS. The 1312 CCD/CMOS is an image sensor, which employs a CCD or CMOS, which converts the received light intensity into an electrical signal and supplies it to a signal processing unit of the camera 1313.
[00403] The signal processing unit of the camera 1313 converts the electrical signal supplied from the CCD/CMOS 1312 into color difference signals Y, Cr and Cb, and supplies them to an image signal processing unit 1314. The image signal processing unit 1314 subjects, under the control of a controller 1321, the image signal supplied from the camera signal processing unit 1313 to predetermined image processing or encodes the image signal thereof by a 1341 encoder using the MPEG format, for example. The picture signal processing unit 1314 supplies encoded data generated by encoding a picture signal to a decoder 1315. Additionally, the picture signal processing unit 1314 obtains display data generated in an on-screen display (OSD) 1320 and supplies them to the 1315 decoder.
[00404] With the aforementioned processing, the signal processing unit of the camera 1313 appropriately takes advantage of the DRAM (Dynamic Random Access Memory) 1318 connected via a bus 1317 to hold image data, encoded data, encoded from the image data from these, and the like in DRAM 1318 as needed.
[00405] The decoder 1315 decodes the encoded data supplied from the image signal processing unit 1314, and supplies the acquired image data (decoded image data) to the LCD 1316. Also, the decoder 1315 supplies the supplied data for display from the image signal processing unit 1314 to the LCD 1316. The LCD 1316 synthesizes the image of the decoded image data and the image of display data supplied from the decoder 1315, as appropriate, and displays a synthesized image thereof. .
[00406] The display on the screen 1320 transmits, under the control of the controller 1321, data for display, such as a menu screen or icon or the like, consisting of a symbol, characters or a figure to the image signal processing unit 1314 through the 1317 bus.
[00407] Based on a signal that indicates the content commanded by the user using an operating unit 1322, the controller 1321 performs various types of processing and also controls the image signal processing unit 1314, the DRAM 1318, the external interface 1319 , screen display 1320, media drive 1323 and the like via bus 1317. Programs, data and the like necessary for controller 1321 to perform various types of processing are stored in ROM FLASH 1324.
[00408] For example, the controller 1321 can encode image data stored in DRAM 1318 or decode encoded data stored in DRAM 1318, instead of the image signal processing unit 1314 and the decoder 1315. At this time, the controller 1321 can perform encoding and decoding processing using the same encoding and decoding format as the image signal processing unit 1314 and decoder 1315 or can perform encoding/decoding processing using a format like the signal processing unit of picture 1314 nor decoder 1315 can handle.
[00409] Also, for example, in the event that the start of image printing has been instructed from operating unit 1322, controller 1321 reads image data from DRAM 1318 and supplies it to a printer 1334 connected to the external interface 1319 through the 1317 bus for printing.
[00410] Additionally, for example, in the event that image recording was instructed from the operating unit 1322, the controller 1321 reads encoded data from DRAM 1318 and supplies it to a recording media 1333 mounted on the media unit 1323 via bus 1317 for storage.
[00411] The 1333 recording media is an optional readable/recordable removable media, for example, such as a magnetic disk, a magneto-optical disk, an optical disk, semiconductor memory or the like. Needless to say, recording media 1333 is also optional with regard to the type of removable media, and thus it can be a tape device, it can be a disk, or it can be a memory card. It goes without saying that the 1333 recording media can be a contactless IC card or the like.
[00412] Alternatively, media drive 1323 and recording media 1333 can be configured to be embedded in non-transportable recording media, for example, such as a built-in hard disk drive, SSD (Solid State Drive) or congeners.
[00413] The external interface 1319 is configured, for example, by a USB input/output terminal and the like, and is connected to the printer 1334 in the event that an image is printed. Also, a disk drive 1331 is connected to external interface 1319, as necessary, on which removable media 1332, such as a magnetic disk, optical disk, or magneto-optical disk, is mounted, as appropriate, and a program The computer read from it is installed in the ROM FLASH 1324 as needed.
[00414] Additionally, external interface 1319 includes a network interface to be connected to a predetermined network, such as a LAN, the Internet or the like. For example, according to instructions from operating unit 1322, controller 1321 can read encoded data from DRAM 1318, and supplies it from external interface 1319 to another device connected via the network. Also, the controller 1321 can obtain, via the external interface 1319, encoded data or image data supplied from another device through the network, and keep them in DRAM 1318 or supply them to the image signal processing unit. 1314.
[00415] The camera 1300 thus configured employs the image decoding device 200 as the decoder 1315. In this way, as with the image decoding device 200, the decoder 1315 can perform noise removal appropriate for the nature of the location in the image.
[00416] In this way, the camera 1300 can perform noise removal appropriate to the nature of the location in the image. As a result, the hard disk recorder 1200 can obtain decoded images with higher image quality, for example, from image data generated in CCD/CMOS 1312, from encoded data from video data read from DRAM 1318 or from recording media 1333, and from encoded data of video data obtained over a network.
[00417] Also, the camera 1300 employs the image encoding device 100 as the encoder 1341. In this way, in the same way as in the case of the image encoding device 100, the encoder 1341 can perform appropriate noise removal for the nature of the place in the image.
[00418] In this way, the camera 1300 can perform noise removal appropriate to the nature of the location in the image. As a result, the camera 1300 can improve the image quality of decoded images from encoded data recorded in DRAM 1318 or recording media 1333 and encoded data provided to other devices.
[00419] Note that the decoding method of the image decoding device 200 can be applied in the decoding processing that the controller 1321 performs. Likewise, the encoding method of picture encoding device 100 can be applied in encoding processing that controller 1321 performs.
[00420] Also, the image data that the camera 1300 takes can be moving pictures or can be still pictures.
[00421] Of course, the image encoding device 100 and the image decoding device 200 can be applied in devices or systems other than the above-described devices.
[00422] Also, the size of macroblocks is not restricted to 16 x 16 pixels. Application can be done on macroblocks of various sizes, such as those 32 x 32 pixels shown in Figure 10, for example.
[00423] Although description has been made previously with filter coefficients and the like being multiplexed (described) in the bit stream, filter coefficients and image data (or bit stream) can be transmitted (recorded), for example, besides being multiplexed. A form can be made in which filtering coefficients and image data (or bit stream) are also linked (added).
[00424] Linking (addition) indicates a state in which image data (or bit streams) and filtering coefficients are mutually linked (a correlated state) and the positional physical relationship is optional. For example, image data (or bit stream) and filtering coefficients can be transmitted on separate transmission paths. Also, each of the image data (or bit stream) and the filtering coefficients can be recorded on separate recording media (or on separate recording areas on the same recording media). Note that the increments in which image data (or streams of bits) and filtering coefficients are turned on are optional, and can be set in encoding processing increments (one frame, multiple frames, etc.), for example . REFERENCE SIGNALS LIST 100 image encoding device 112 filter coefficient calculation unit 113 loop filter 151 orthogonal transform size temporary storage 152 decoded image classification unit 153 input image classification unit 154 calculation unit block coefficient 4 x 4 155 block coefficient calculation unit 8 x 8 161 pixel classification unit 162 filter unit (4 x 4) 163 filter unit (8 x 8) 200 image decoding device 202 unit lossless decoding 204 inverse orthogonal transform unit 207 loop filter 212 intraprediction unit 213 prediction / motion compensation unit 251 pixel classification unit 252 filter unit (4 x 4) 253 filter unit (8 x 8)
权利要求:
Claims (20)
[0001]
1. Image processing method, characterized in that it comprises: decoding (S203), with circuit (200), encoded data from an image to generate a decoded image; and performing (S209) filtration processing on the decoded image using a number of derivations of defined filtration coefficients based on an orthogonal transform size applied in orthogonal transform processing performed on the decoded image, the number of derivations of filtration coefficients being still defined in at least one decoded image flatness measurement; and the filtration coefficients and the number of filtration coefficient derivations being defined simultaneously.
[0002]
2. Image processing method according to claim 1, characterized in that the filtering processing is performed on a block contour of the decoded image.
[0003]
3. Image processing method according to claim 1, characterized by the fact that the values of the filtration coefficients are defined in the size of the orthogonal transform.
[0004]
4. Image processing method according to claim 1, characterized by the fact that, in the case of a larger size of the orthogonal transform, the number of derivations of the filtration coefficients is defined larger, and in the case of a smaller size of the transform orthogonal, the number of derivations of the filtration coefficients is defined smaller.
[0005]
5. Image processing method according to claim 1, characterized in that it further comprises: extracting (S202) the filtering coefficients of the encoded data.
[0006]
6. Image processing method according to claim 1, characterized in that it further comprises: performing (S203, S204, S205) inverse quantization and inverse orthogonal transform on the decoded image.
[0007]
7. Image processing method according to claim 1, characterized in that the filtering processing is performed on a partial image of the decoded image.
[0008]
8. Image processing method according to claim 1, characterized in that the filtration processing is performed using a WIENER filter.
[0009]
9. Image processing method according to claim 1, characterized in that it further comprises: adjusting the definition of the filtering coefficients or the number of derivations of filtering coefficients according to a measured quality of the encoded data of the decoded image.
[0010]
10. Image processing method according to claim 1, characterized in that it further comprises: identifying a level of filtering processing of the decoded data; and determining an application of an unlock filter on the decoded image based on a predetermined threshold value of the filter processing level, the application including applying unlock filtering on block boundaries and macroblock boundaries, apply unlocking filtering on only boundaries of macroblock, or not to apply unlocking filtering.
[0011]
11. Image processing method according to claim 10, characterized in that it further comprises: adjusting a filter resistance based on the identified filtration processing level, such that a weaker filtration is applied on areas of the decoded image where the at least one flatness measurement corresponding to a coarse frequency, and stronger filtering is applied in areas of the decoded image where the at least one flatness measurement corresponding to a dense frequency.
[0012]
12. Image processing method according to claim 11, characterized by the fact that weaker filtration corresponds to reducing the number of derivations of filtration coefficients, and in that stronger filtration corresponds to increasing the number of derivations of coefficients of filtration.
[0013]
13. An image processing device, characterized in that it comprises a circuit configured to: decode (202) encoded data from an image to generate a decoded image; and performing (207) filtration processing on the decoded image using a number of filtration coefficient derivations defined based on an orthogonal transform size applied in orthogonal transform processing performed on the decoded image, the number of filtration coefficient derivations being still defined in at least one decoded image flatness measurement; and the filtration coefficients and the number of filtration coefficient derivations being defined simultaneously.
[0014]
14. Image processing device according to claim 13, characterized in that a filtration processing unit performs filtration processing on a block contour of the decoded image.
[0015]
15. Image processing device according to claim 13, characterized by the fact that the circuit is further configured to: define the values of the filtration coefficients based on the size of the orthogonal transform.
[0016]
16. Image processing device according to claim 13, characterized by the fact that, in the case of a larger size of the orthogonal transform, the circuit defines a greater number of derivations of the filtration coefficients, and in the case of a smaller size of the transform orthogonal, the circuit defines the smallest number of derivations of the filtration coefficients.
[0017]
17. Image processing device according to claim 13, characterized by the fact that the circuit is further configured to: extract the filtering coefficients of the encoded data.
[0018]
18. Image processing device according to claim 13, characterized in that the circuit is further configured to: perform inverse quantization on the decoded image; and perform inverse orthogonal transform on the decoded image on which the inverse quantization was performed.
[0019]
19. Image processing device according to claim 13, characterized in that the circuit performs filtering processing on a partial image of the decoded image.
[0020]
20. Image processing device according to claim 13, characterized by the fact that the circuit performs the filtration processing using a WIENER filter.
类似技术:
公开号 | 公开日 | 专利标题
BR112012003855B1|2021-08-03|IMAGE PROCESSING METHOD AND DEVICE
US10721494B2|2020-07-21|Image processing device and method
US10587899B2|2020-03-10|Image processing device and method
US8923642B2|2014-12-30|Image processing device and method
US11051016B2|2021-06-29|Image processing device and method
BR122014030189A2|2019-08-20|IMAGE PROCESSING MACHINE AND METHOD
KR20120096519A|2012-08-30|Image processing device and method, and program
US20120281754A1|2012-11-08|Device and method for processing image
BR112014024265B1|2018-09-25|device and method for image processing and computer readable storage media
US20130028321A1|2013-01-31|Apparatus and method for image processing
BR112012003285B1|2021-09-28|IMAGE PROCESSING DEVICE AND METHOD
同族专利:
公开号 | 公开日
US10250911B2|2019-04-02|
WO2011024684A1|2011-03-03|
CN102484714A|2012-05-30|
CN104601995B|2018-04-27|
TW201112773A|2011-04-01|
KR101786130B1|2017-10-17|
CN104602002A|2015-05-06|
BR112012003855A2|2016-03-22|
CA2769733C|2017-07-18|
CN104601994B|2018-04-27|
CN104601994A|2015-05-06|
CN104602002B|2019-04-16|
TWI435610B|2014-04-21|
EP2472870A4|2015-08-12|
US20190208227A1|2019-07-04|
CA2970080C|2020-07-28|
US9992516B2|2018-06-05|
EP2472870A1|2012-07-04|
CN104618716B|2019-04-23|
CN102484714B|2015-02-25|
CN104601995A|2015-05-06|
MX2012002070A|2012-03-19|
RU2533444C2|2014-11-20|
KR20120051020A|2012-05-21|
US20180249185A1|2018-08-30|
CN104618716A|2015-05-13|
CA2970080A1|2011-03-03|
KR101901087B1|2018-09-20|
RU2012106134A|2013-08-27|
US20120141037A1|2012-06-07|
KR20170117219A|2017-10-20|
JP2011049740A|2011-03-10|
AU2010287688B2|2014-09-11|
US11051044B2|2021-06-29|
AU2010287688A1|2012-03-01|
CA2769733A1|2011-03-03|
引用文献:
公开号 | 申请日 | 公开日 | 申请人 | 专利标题

US4152772A|1974-08-29|1979-05-01|The United States Of America As Represented By The Secretary Of The Navy|Apparatus for performing a discrete cosine transform of an input signal|
JP2879298B2|1993-11-15|1999-04-05|日本電気エンジニアリング株式会社|Adaptive post-processing filter|
FI117533B|2000-01-20|2006-11-15|Nokia Corp|Procedure for filtering digital video images|
JP3861698B2|2002-01-23|2006-12-20|ソニー株式会社|Image information encoding apparatus and method, image information decoding apparatus and method, and program|
JP4120301B2|2002-04-25|2008-07-16|ソニー株式会社|Image processing apparatus and method|
CN101247524B|2003-02-21|2011-05-04|松下电器产业株式会社|Picture coding method|
EP1665804A1|2003-09-17|2006-06-07|Thomson Licensing S.A.|Adaptive reference picture generation|
EP1578137A2|2004-03-17|2005-09-21|Matsushita Electric Industrial Co., Ltd.|Moving picture coding apparatus with multistep interpolation process|
JP4457346B2|2004-11-12|2010-04-28|ノーリツ鋼機株式会社|Image noise removal method|
US7792385B2|2005-01-25|2010-09-07|Globalfoundries Inc.|Scratch pad for storing intermediate loop filter data|
JP2006211152A|2005-01-26|2006-08-10|Hokkaido Univ|Device and method for coding image and decoding image, and programs for coding and decoding image|
JP4784188B2|2005-07-25|2011-10-05|ソニー株式会社|Image processing apparatus, image processing method, and program|
JP2007110568A|2005-10-14|2007-04-26|Matsushita Electric Ind Co Ltd|Image coding device|
US7657113B2|2005-12-21|2010-02-02|Hong Kong Applied Science And Technology Research Institute Co., Ltd.|Auto-regressive method and filter for denoising images and videos|
JP4449915B2|2006-02-08|2010-04-14|ソニー株式会社|Encoding apparatus, encoding method and program, and recording medium|
WO2007111292A1|2006-03-27|2007-10-04|Matsushita Electric Industrial Co., Ltd.|Picture coding apparatus and picture decoding apparatus|
EP1841230A1|2006-03-27|2007-10-03|Matsushita Electric Industrial Co., Ltd.|Adaptive wiener filter for video coding|
WO2008010929A2|2006-07-18|2008-01-24|Thomson Licensing|Methods and apparatus for adaptive reference filtering|
KR101526914B1|2006-08-02|2015-06-08|톰슨 라이센싱|Methods and apparatus for adaptive geometric partitioning for video decoding|
EP2123051B1|2006-12-18|2010-11-10|Koninklijke Philips Electronics N.V.|Image compression and decompression|
EP1944974A1|2007-01-09|2008-07-16|Matsushita Electric Industrial Co., Ltd.|Position dependent post-filter hints|
JP4847890B2|2007-02-16|2011-12-28|パナソニック株式会社|Encoding method converter|
JP2009110559A|2007-10-26|2009-05-21|Pioneer Electronic Corp|Optical disk device|
CN101170701B|2007-11-16|2010-10-27|四川虹微技术有限公司|Block elimination filtering method and device for video encoding and decoding system|
US7924941B2|2007-11-27|2011-04-12|Motorola Mobility, Inc.|Digital pre-distortion for orthogonal frequency division multiplexing signals|
CA2715646C|2008-02-20|2015-11-24|Aos Holding Company|Organic polymer coatings for water containers|
RU2010132916A|2008-03-07|2012-04-20|Кабусики Кайся Тосиба |VIDEO CODING / DECODING DEVICE|
JP2010081368A|2008-09-26|2010-04-08|Toshiba Corp|Image processor, moving image decoding device, moving image encoding device, image processing method, moving image decoding method, and, moving image encoding method|
KR101457418B1|2009-10-23|2014-11-04|삼성전자주식회사|Method and apparatus for video encoding and decoding dependent on hierarchical structure of coding unit|JP2011151431A|2009-12-25|2011-08-04|Sony Corp|Image processing apparatus and method|
WO2012131895A1|2011-03-29|2012-10-04|株式会社東芝|Image encoding device, method and program, and image decoding device, method and program|
TWI543116B|2011-04-26|2016-07-21|國立成功大學|Method for merging the regions in the image/video|
WO2012153538A1|2011-05-11|2012-11-15|Panasonic Corporation|Methods for encoding and decoding video using an adaptive filtering process|
WO2012169054A1|2011-06-09|2012-12-13|株式会社東芝|Video coding method and device, and video decoding method and device|
CN102831132B|2011-06-13|2016-05-25|英华达(南京)科技有限公司|Can on electronic installation, show fast storage method and the electronic installation thereof of digitized map file|
KR102067368B1|2011-06-28|2020-01-16|소니 주식회사|Image processing device and image processing method|
CN103621083B|2011-06-30|2017-04-12|三菱电机株式会社|Image decoding device and image decoding method|
RU2713857C2|2011-10-17|2020-02-07|Кт Корпорейшен|Video decoding method|
KR101462052B1|2011-11-09|2014-11-20|에스케이 텔레콤주식회사|Video Coding Method and Apparatus using Transform Based Fraquency Domain Adaptive Loop Filter|
US8872981B1|2011-12-15|2014-10-28|Dolby Laboratories Licensing Corporation|Backwards-compatible delivery of digital cinema content with extended dynamic range|
US9635354B2|2011-12-19|2017-04-25|Sony Corporation|Image processing device and method|
US9426498B2|2012-07-10|2016-08-23|Broadcom Corporation|Real-time encoding system of multiple spatially scaled video based on shared video coding information|
US9438911B2|2012-08-03|2016-09-06|Mediatek Inc.|Video processing system with shared/configurable in-loop filter data buffer architecture and related video processing method thereof|
AU2013200051B2|2013-01-04|2016-02-11|Canon Kabushiki Kaisha|Method, apparatus and system for de-blocking video data|
CN107113395B|2014-11-13|2020-11-24|三星电子株式会社|Method and apparatus for generating metadata including frequency characteristic information of image|
CN106303540B|2015-05-20|2019-02-12|浙江大华技术股份有限公司|A kind of method for compressing image and its device|
CN105138963A|2015-07-31|2015-12-09|小米科技有限责任公司|Picture scene judging method, picture scene judging device and server|
RU2682838C1|2015-12-23|2019-03-21|Хуавей Текнолоджиз Ко., Лтд.|Method and device for coding with transformation with choice of transformation of the block level and implicit alarm system within the framework of the hierarchical division|
法律状态:
2018-03-27| B15K| Others concerning applications: alteration of classification|Ipc: H04N 19/82 (2014.01), H04N 19/117 (2014.01), H04N |
2019-01-08| B06F| Objections, documents and/or translations needed after an examination request according [chapter 6.6 patent gazette]|
2019-12-31| B06U| Preliminary requirement: requests with searches performed by other patent offices: procedure suspended [chapter 6.21 patent gazette]|
2021-05-04| B09A| Decision: intention to grant [chapter 9.1 patent gazette]|
2021-08-03| B16A| Patent or certificate of addition of invention granted|Free format text: PRAZO DE VALIDADE: 20 (VINTE) ANOS CONTADOS A PARTIR DE 18/08/2010, OBSERVADAS AS CONDICOES LEGAIS. PATENTE CONCEDIDA CONFORME ADI 5.529/DF, QUE DETERMINA A ALTERACAO DO PRAZO DE CONCESSAO. |
优先权:
申请号 | 申请日 | 专利标题
JP2009195317A|JP2011049740A|2009-08-26|2009-08-26|Image processing apparatus and method|
JP2009-195317|2009-08-26|
PCT/JP2010/063918|WO2011024684A1|2009-08-26|2010-08-18|Image processing device and method|
[返回顶部]